{"id":230701,"date":"2022-11-28T19:14:00","date_gmt":"2022-11-28T16:14:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230701"},"modified":"2022-11-09T23:36:33","modified_gmt":"2022-11-09T20:36:33","slug":"una-guida-rapida-alle-shell-in-macos","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/una-guida-rapida-alle-shell-in-macos\/","title":{"rendered":"Una guida rapida alle shell in macOS"},"content":{"rendered":"\n<p>Se hai letto le istruzioni sul Web su come installare qualcosa, probabilmente hai letto una dichiarazione sull&#8217;aggiunta di qualcosa al tuo <strong>$PATH<\/strong>. Pi\u00f9 specificamente, probabilmente includeva un&#8217;istruzione di <strong>esportazione<\/strong>, una directory e quindi un file in cui reindirizzare il comando, giusto?<\/p>\n<p>In effetti, potresti vedere una direttiva come questa:<\/p>\n<blockquote>\n<p>Assicurati che la <code>~\/.composer\/vendor\/bin<\/code>directory sia nel &quot;PATH&quot; del tuo sistema.<\/p>\n<\/blockquote>\n<p>Ci\u00f2 significa che dovresti fare qualcosa del genere:<\/p>\n<pre><code>export PATH=\"$PATH:$HOME\/.composer\/vendor\/bin\"<\/code><\/pre>\n<p>Ma se sei nuovo a lavorare nel terminale, per non parlare delle variabili ambientali, come dovresti sapere come tradurre l&#8217;istruzione nel comando sopra?<\/p>\n<h2>Shell in macOS<\/h2>\n<p>Prima di entrare in cos&#8217;\u00e8 una shell, \u00e8 importante notare che il terminale \u00e8 fondamentalmente il modo per accedere al file system attraverso una serie di comandi e programmi basati su testo.<\/p>\n<p>Sono popolari soprattutto nei sistemi operativi basati su *nix, anche tramite Windows (se hai mai usato MS-DOS o il prompt dei comandi, allora sai cosa intendo).<\/p>\n<p>Per questo post, parlo principalmente di sistemi basati su *nix e, ancora pi\u00f9 specificamente, di macOS. Quindi, quando si tratta di parlare di shell in macOS, stai parlando del programma che interpreta i comandi immessi nel terminale.<\/p>\n<p>Questo \u00e8 tutto, niente di speciale.<\/p>\n<p>Quindi quali sono le diverse shell in macOS? In genere ci sono quattro shell fornite con il sistema operativo (anche se puoi installarne altre, se lo desideri).<\/p>\n<h3>Shell di macOS<\/h3>\n<p>Queste shell includono <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> e<\/strong> <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Z_shell\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">zsh<\/a><\/strong>. No, alcune persone affermeranno che una shell \u00e8 migliore dell&#8217;altra mentre altri (come me) sono un po&#8217; ambivalenti. Tendo a restare con Bash poich\u00e9 \u00e8 quello che ho usato pi\u00f9 a lungo e che conosco meglio (anche se dir\u00f2 <a href=\"http:\/\/ohmyz.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Oh My Zsh.<\/a>, che tratter\u00f2 momentaneamente, \u00e8 stato anche bello armeggiare).<\/p>\n<p>Per la maggior parte delle installazioni macOS, questa \u00e8 la shell predefinita. Ci\u00f2 significa che tutte le impostazioni verranno mantenute in un file <strong>.bash_profile<\/strong>. Quindi ogni volta che vuoi aggiungere qualcosa al tuo percorso, questo \u00e8 il file in cui \u00e8 scritto. Ci sono altri file, ma non rientrano nell&#8217;ambito di questo post.<\/p>\n<h3>Capire i profili<\/h3>\n<p>Ogni volta che lavori in un terminale e apporti una modifica al file associato a quella sessione del terminale (ovvero l&#8217;istanza del terminale che hai aperto), devi dire al sistema operativo di caricare tali modifiche tramite il seguente comando:<\/p>\n<pre><code>$ source ~\/.profile<\/code><\/pre>\n<p>\u2026dove ~\/.profile \u00e8 il file del profilo della shell. Si noti, tuttavia, che per molte shell ci\u00f2 \u00e8 coerente solo per la sessione del terminale. Ci\u00f2 non significa che persister\u00e0 la prossima volta che aprirai il terminale per non parlare del tuo sistema operativo.<\/p>\n<p>Questo perch\u00e9 una data shell pu\u00f2 avere una gerarchia, per cos\u00ec dire, di file. Per Bash, questo include <strong>.bashrc<\/strong>, <strong>.bash_profile<\/strong> e <strong>.profile.<\/strong> Inoltre, potresti essere in grado di definire le impostazioni nelle impostazioni del Terminale del tuo sistema operativo.<\/p>\n<p>Ad esempio, se stai usando Linux:<\/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=\"Una guida rapida alle shell in macOS\" ><\/a><\/p>\n<p>Se, d&#8217;altra parte, stai usando macOS, allora dovresti usare uno dei suddetti file. Usando bash come esempio, analizzer\u00f2 come si adattano tutti insieme:<\/p>\n<ul>\n<li><strong>.profile<\/strong> \u00e8 lo script di accesso. Se non ne esiste uno, puoi crearne uno e questo eseguir\u00e0 i comandi che hai al momento dell&#8217;accesso alla sessione. Se vuoi che qualcosa venga eseguito o qualcosa disponibile solo durante il login, questo \u00e8 il file. Questo \u00e8 anche a livello di sistema.<\/li>\n<li><strong>.bashrc<\/strong> \u00e8 un file che viene letto durante una sessione del terminale (o anche quando viene utilizzata la GUI). Pensa che questo \u00e8 sia login che interattivo. Quindi, se vuoi qualcosa disponibile durante l&#8217;accesso e quando usi il sistema operativo, questo \u00e8 un file che puoi usare.<\/li>\n<li><strong>.bash_profile<\/strong> \u00e8 disponibile eseguito durante l&#8217;accesso ed \u00e8 dedicato all&#8217;account di un individuo.<\/li>\n<\/ul>\n<h2>C&#8217;\u00e8 di pi\u00f9?<\/h2>\n<p>Poich\u00e9 questa \u00e8 una guida rapida, s\u00ec, c&#8217;\u00e8 di pi\u00f9. Puoi leggerli nella pagina man specifica del tuo terminale. Per bash, inserisci semplicemente<\/p>\n<pre><code>$ man bash<\/code><\/pre>\n<p>Nel tuo terminale ti verr\u00e0 fornita la guida completa al terminale.<\/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=\"Una guida rapida alle shell in macOS\" ><\/a><\/p>\n<p>Come take away, ecco cosa potresti incontrare quando si tratta dei file del profilo:<\/p>\n<ul>\n<li><strong>\/bin\/bash<\/strong>. L&#8217;eseguibile bash<\/li>\n<li><strong>\/etc\/profilo<\/strong>. Il file di inizializzazione a livello di sistema, eseguito per le shell di accesso<\/li>\n<li><strong>~\/.profilo_bash<\/strong>. Il file di inizializzazione personale, eseguito per le shell di accesso<\/li>\n<li><strong>~\/.bashrc<\/strong>. L&#8217;individuo per-shell interattivo sta. file rtup<\/li>\n<li><strong>~\/.bash_logout<\/strong>. Il singolo file di pulizia della shell di accesso, eseguito all&#8217;uscita di una shell di accesso<\/li>\n<li><strong>~\/.inputrc<\/strong>. File di inizializzazione readline individuale<\/li>\n<\/ul>\n<p>La prossima volta che devi esportare un percorso, impostare un valore o lavorare con il tuo profilo, questo dovrebbe darti una guida su dove \u00e8 necessario apportare la modifica (e come puoi farlo).<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La prossima volta che devi lavorare con le shell in macOS, questo dovrebbe darti una guida su da dove iniziare.<\/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":[896,1067],"tags":[1168],"class_list":["post-230701","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-un-computer","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230701"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230701\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/163854"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}