{"id":230563,"date":"2022-11-28T18:47:00","date_gmt":"2022-11-28T15:47:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230563"},"modified":"2022-11-09T22:58:24","modified_gmt":"2022-11-09T19:58:24","slug":"pikaopas-shelleihin-macos-ssae","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/pikaopas-shelleihin-macos-ssae\/","title":{"rendered":"Pikaopas shelleihin macOS:ss\u00e4"},"content":{"rendered":"\n<p>Jos olet lukenut verkosta ohjeita jonkin asentamiseen, olet luultavasti lukenut lausunnon, joka koskee jotain lis\u00e4\u00e4mist\u00e4 <strong>$PATH<\/strong> -polkuun. Tarkemmin sanottuna se luultavasti sis\u00e4lsi <strong>vientik\u00e4skyn<\/strong>, hakemiston ja sitten tiedoston, johon komento ohjataan, eik\u00f6 niin?<\/p>\n<p>Itse asiassa saatat n\u00e4hd\u00e4 seuraavanlaisen ohjeen:<\/p>\n<blockquote>\n<p>Varmista, ett\u00e4 <code>~\/.composer\/vendor\/bin<\/code>hakemisto on j\u00e4rjestelm\u00e4si polussa.<\/p>\n<\/blockquote>\n<p>T\u00e4m\u00e4 tarkoittaa, ett\u00e4 sinun pit\u00e4isi tehd\u00e4 jotain seuraavanlaista:<\/p>\n<pre><code>export PATH=\"$PATH:$HOME\/.composer\/vendor\/bin\"<\/code><\/pre>\n<p>Mutta jos olet uusi terminaalin parissa, puhumattakaan ymp\u00e4rist\u00f6muuttujista, miten sinun pit\u00e4isi osata k\u00e4\u00e4nt\u00e4\u00e4 lause yll\u00e4 olevaksi komennoksi?<\/p>\n<h2>Kotelot macOS:ss\u00e4<\/h2>\n<p>Ennen kuin perehdyt siihen, mit\u00e4 shell on, on t\u00e4rke\u00e4\u00e4 huomata, ett\u00e4 p\u00e4\u00e4te on periaatteessa tapa k\u00e4ytt\u00e4\u00e4 tiedostoj\u00e4rjestelm\u00e4\u00e4 useiden komentojen ja tekstipohjaisten ohjelmien avulla.<\/p>\n<p>Ne ovat suosittuja erityisesti *nix-pohjaisissa k\u00e4ytt\u00f6j\u00e4rjestelmiss\u00e4, my\u00f6s Windowsin kautta (jos olet joskus k\u00e4ytt\u00e4nyt MS-DOS:ia tai komentokehotetta, tied\u00e4t mit\u00e4 tarkoitan).<\/p>\n<p>T\u00e4ss\u00e4 viestiss\u00e4 puhun ensisijaisesti *nix-pohjaisista j\u00e4rjestelmist\u00e4 ja viel\u00e4 tarkemmin macOS:st\u00e4. Joten kun puhutaan kuorista macOS:ss\u00e4, puhutaan ohjelmasta, joka tulkitsee terminaaliin sy\u00f6tetyt komennot.<\/p>\n<p>Siin\u00e4 kaikki, ei mit\u00e4\u00e4n hienoa.<\/p>\n<p>Mitk\u00e4 ovat MacOS:n eri kuoret? K\u00e4ytt\u00f6j\u00e4rjestelm\u00e4n mukana tulee tyypillisesti nelj\u00e4 kuorta (joskin voit asentaa lis\u00e4\u00e4, jos haluat).<\/p>\n<h3>macOS Shells<\/h3>\n<p>N\u00e4it\u00e4 kuoria ovat <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Bash_(Unix_shell)\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">bash<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/KornShell\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ksh<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tcsh\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tcsh<\/a> ja<\/strong> zsh <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Z_shell\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">.<\/a><\/strong> Ei, jotkut ihmiset v\u00e4itt\u00e4v\u00e4t, ett\u00e4 yksi kuori on parempi kuin toinen, kun taas toiset (kuten min\u00e4) ovat hieman kaksijakoisia. Pid\u00e4n yleens\u00e4 Bashista, koska sit\u00e4 olen k\u00e4ytt\u00e4nyt pisimp\u00e4\u00e4n ja tied\u00e4n parhaiten (vaikka sanon, ett\u00e4 <a href=\"http:\/\/ohmyz.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Oh My Zsh.<\/a>, jota k\u00e4sittelen hetken, on my\u00f6s ollut mukava puuhailla).<\/p>\n<p>Useimmissa macOS-asennuksissa t\u00e4m\u00e4 on oletuskuori. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 kaikki asetukset s\u00e4ilytet\u00e4\u00e4n <strong>.bash_profile<\/strong> &#8211; tiedostossa. Joten aina kun haluat lis\u00e4t\u00e4 jotain polullesi, t\u00e4m\u00e4 on tiedosto, johon se kirjoitetaan. Muita tiedostoja on, mutta ne eiv\u00e4t kuulu t\u00e4m\u00e4n viestin piiriin.<\/p>\n<h3>Profiilien ymm\u00e4rt\u00e4minen<\/h3>\n<p>Aina kun ty\u00f6skentelet p\u00e4\u00e4tteess\u00e4 ja teet muutoksen kyseiseen p\u00e4\u00e4te-istuntoon liittyv\u00e4\u00e4n tiedostoon (eli avoimeen p\u00e4\u00e4tteen ilmentym\u00e4\u00e4n), sinun on kehotettava k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4\u00e4 lataamaan muutokset seuraavalla komennolla:<\/p>\n<pre><code>$ source ~\/.profile<\/code><\/pre>\n<p>\u2026jossa ~\/.profile on komentotulkin profiilitiedosto. Huomaa kuitenkin, ett\u00e4 monille kuorille t\u00e4m\u00e4 on johdonmukaista vain p\u00e4\u00e4tteen istunnon osalta. Se ei tarkoita, ett\u00e4 se jatkuu, kun seuraavan kerran avaat p\u00e4\u00e4tteen k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4st\u00e4si puhumattakaan.<\/p>\n<p>T\u00e4m\u00e4 johtuu siit\u00e4, ett\u00e4 tietyll\u00e4 kuorella voi olla niin sanotusti tiedostojen hierarkia. Bashissa t\u00e4m\u00e4 sis\u00e4lt\u00e4\u00e4 <strong>.bashrc<\/strong>, <strong>.bash_profile<\/strong> ja <strong>.profile.<\/strong> Lis\u00e4ksi voit ehk\u00e4 m\u00e4\u00e4ritt\u00e4\u00e4 asetukset k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4si p\u00e4\u00e4teasetuksissa.<\/p>\n<p>Jos esimerkiksi k\u00e4yt\u00e4t Linuxia:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163853-61e75a7f10ff7.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163853-61e75a7f10ff7.png\" alt=\"Pikaopas shelleihin macOS:ss\u00e4\" ><\/a><\/p>\n<p>Jos toisaalta k\u00e4yt\u00e4t macOS:\u00e4\u00e4, sinun on k\u00e4ytett\u00e4v\u00e4 jotakin edell\u00e4 mainituista tiedostoista. K\u00e4ytt\u00e4m\u00e4ll\u00e4 bashia esimerkkin\u00e4 erittelen, kuinka ne kaikki sopivat yhteen:<\/p>\n<ul>\n<li><strong>.profile<\/strong> on kirjautumisskripti. Jos sellaista ei ole, voit luoda sellaisen ja t\u00e4m\u00e4 suorittaa komennot, jotka sinulla on istuntoon kirjautuessasi. Jos haluat, ett\u00e4 jotain suoritetaan tai jotain on saatavilla vain sis\u00e4\u00e4nkirjautumisen aikana, t\u00e4m\u00e4 on tiedosto. T\u00e4m\u00e4 koskee my\u00f6s koko j\u00e4rjestelm\u00e4\u00e4.<\/li>\n<li><strong>.bashrc<\/strong> on tiedosto, jota luetaan p\u00e4\u00e4teistunnon aikana (tai jopa graafista k\u00e4ytt\u00f6liittym\u00e4\u00e4 k\u00e4ytett\u00e4ess\u00e4). Ajattele, ett\u00e4 t\u00e4m\u00e4 on sek\u00e4 kirjautumista ett\u00e4 interaktiivista. Joten jos haluat jotain saatavilla sis\u00e4\u00e4nkirjautumisen ja k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4n k\u00e4yt\u00f6n aikana, t\u00e4m\u00e4 on tiedosto, jota voit k\u00e4ytt\u00e4\u00e4.<\/li>\n<li><strong>.bash_profile<\/strong> on k\u00e4ytett\u00e4viss\u00e4 sis\u00e4\u00e4nkirjautumisen yhteydess\u00e4 ja se on varattu henkil\u00f6n tilille.<\/li>\n<\/ul>\n<h2>Onko enemm\u00e4n?<\/h2>\n<p>Koska t\u00e4m\u00e4 on pikaopas, kyll\u00e4, siell\u00e4 on enemm\u00e4n. Voit lukea ne terminaalikohtaiselta man-sivulta. Jos haluat bash, sy\u00f6t\u00e4 vain<\/p>\n<pre><code>$ man bash<\/code><\/pre>\n<p>Terminaalissasi ja sinulle annetaan t\u00e4ydellinen opas terminaaliin.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163853-61e75a8202ac9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163853-61e75a8202ac9.png\" alt=\"Pikaopas shelleihin macOS:ss\u00e4\" ><\/a><\/p>\n<p>Poikkeuksena seuraavaa, mit\u00e4 saatat t\u00f6rm\u00e4t\u00e4 profiilitiedostojen suhteen:<\/p>\n<ul>\n<li><strong>\/bin\/bash<\/strong>. Bash-suoritettava tiedosto<\/li>\n<li><strong>\/etc\/profile<\/strong>. J\u00e4rjestelm\u00e4nlaajuinen alustustiedosto, joka suoritetaan kirjautumiskuorille<\/li>\n<li><strong>~\/.bash_profile<\/strong>. Henkil\u00f6kohtainen alustustiedosto, joka suoritetaan kirjautumiskuorille<\/li>\n<li><strong>~\/.bashrc<\/strong>. Yksitt\u00e4inen interaktiivisen kuoren sta. rtup tiedosto<\/li>\n<li><strong>~\/.bash_logout<\/strong>. Yksitt\u00e4inen kirjautumiskuoren puhdistustiedosto, joka suoritetaan, kun kirjautumiskuori poistuu<\/li>\n<li><strong>~\/.inputrc<\/strong>. Yksitt\u00e4inen lukulinjan alustustiedosto<\/li>\n<\/ul>\n<p>Kun seuraavan kerran joudut viem\u00e4\u00e4n polun, asettamaan arvon tai ty\u00f6skentelem\u00e4\u00e4n profiilisi kanssa, t\u00e4m\u00e4n pit\u00e4isi toivottavasti antaa sinulle opas siit\u00e4, miss\u00e4 muutos on teht\u00e4v\u00e4 (ja miten voit tehd\u00e4 sen).<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seuraavan kerran, kun sinun on ty\u00f6skennelt\u00e4v\u00e4 kuorien kanssa macOS:ss\u00e4, t\u00e4m\u00e4n pit\u00e4isi antaa sinulle opas, mist\u00e4 aloittaa.<\/p>\n","protected":false},"author":1,"featured_media":163854,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[895,1066],"tags":[1166],"class_list":["post-230563","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-koodi","category-tietokone","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=230563"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230563\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/163854"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=230563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=230563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=230563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}