{"id":230540,"date":"2022-11-28T18:50:00","date_gmt":"2022-11-28T15:50:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230540"},"modified":"2022-11-09T22:52:40","modified_gmt":"2022-11-09T19:52:40","slug":"um-guia-rapido-para-shells-no-macos","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/um-guia-rapido-para-shells-no-macos\/","title":{"rendered":"Um guia r\u00e1pido para shells no macOS"},"content":{"rendered":"\n<p>Se voc\u00ea leu alguma instru\u00e7\u00e3o na web sobre como instalar algo, provavelmente leu uma declara\u00e7\u00e3o sobre como adicionar algo ao seu <strong>$PATH<\/strong>. Mais especificamente, provavelmente incluiu uma\u00a0 instru\u00e7\u00e3o de <strong>exporta\u00e7\u00e3o<\/strong>, um diret\u00f3rio e, em seguida, um arquivo para o qual canalizar o comando, certo?<\/p>\n<p>Na verdade, voc\u00ea pode ver uma diretiva como esta:<\/p>\n<blockquote>\n<p>Certifique-se de que o <code>~\/.composer\/vendor\/bin<\/code>diret\u00f3rio esteja no &#8220;PATH&quot; do seu sistema.<\/p>\n<\/blockquote>\n<p>O que significa que voc\u00ea deve fazer algo como o seguinte:<\/p>\n<pre><code>export PATH=\"$PATH:$HOME\/.composer\/vendor\/bin\"<\/code><\/pre>\n<p>Mas se voc\u00ea \u00e9 novo em trabalhar no terminal, muito menos em vari\u00e1veis \u200b\u200bambientais, como voc\u00ea deve saber como traduzir a declara\u00e7\u00e3o no comando acima?<\/p>\n<h2>Conchas no macOS<\/h2>\n<p>Antes de entrar no que \u00e9 um shell, \u00e9 importante notar que o terminal \u00e9 basicamente a maneira de acessar o sistema de arquivos atrav\u00e9s de uma s\u00e9rie de comandos e programas baseados em texto.<\/p>\n<p>Eles s\u00e3o populares especialmente em sistemas operacionais baseados em *nix, atrav\u00e9s do Windows tamb\u00e9m (se voc\u00ea j\u00e1 usou o MS-DOS ou o Prompt de Comando, ent\u00e3o voc\u00ea sabe o que quero dizer).<\/p>\n<p>Para este post, estou falando principalmente sobre sistemas baseados em *nix e, ainda mais especificamente, macOS. Ent\u00e3o, quando se trata de falar sobre shells no macOS, voc\u00ea est\u00e1 falando sobre o programa que interpreta os comandos inseridos no terminal.<\/p>\n<p>Isso \u00e9 tudo, nada extravagante.<\/p>\n<p>Ent\u00e3o, quais s\u00e3o os diferentes shells no macOS? Normalmente, existem quatro shells que v\u00eam com o sistema operacional (embora voc\u00ea possa instalar mais, se quiser).<\/p>\n<h3>Shells do macOS<\/h3>\n<p>Esses shells incluem <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>. Noe que algumas pessoas afirmam que um shell \u00e9 melhor que o outro, enquanto outros (como eu) s\u00e3o um pouco ambivalentes. Eu costumo ficar com Bash, j\u00e1 que \u00e9 o que eu usei por mais tempo e conhe\u00e7o o melhor (embora eu diga <a href=\"http:\/\/ohmyz.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Oh My Zsh.<\/a>, que vou cobrir momentaneamente, tamb\u00e9m foi bom mexer).<\/p>\n<p>Para a maioria das instala\u00e7\u00f5es do macOS, esse \u00e9 o shell padr\u00e3o. Isso significa que todas as configura\u00e7\u00f5es ser\u00e3o mantidas em um arquivo <strong>.bash_profile<\/strong>. Ent\u00e3o, sempre que voc\u00ea quiser adicionar algo ao seu caminho, este \u00e9 o arquivo no qual est\u00e1 escrito. Existem outros arquivos, mas est\u00e3o fora do escopo deste post.<\/p>\n<h3>Entendendo os Perfis<\/h3>\n<p>Sempre que estiver trabalhando em um terminal e fizer uma altera\u00e7\u00e3o no arquivo associado a essa sess\u00e3o do terminal (ou seja, a inst\u00e2ncia do terminal que voc\u00ea abriu), voc\u00ea deve informar ao sistema operacional para carregar essas altera\u00e7\u00f5es por meio do seguinte comando:<\/p>\n<pre><code>$ source ~\/.profile<\/code><\/pre>\n<p>\u2026onde ~\/.profile \u00e9 o arquivo de perfil do shell. Observe, no entanto, que para muitos shells isso \u00e9 consistente apenas para a sess\u00e3o do terminal. Isso n\u00e3o significa que persistir\u00e1 na pr\u00f3xima vez que voc\u00ea abrir o terminal e muito menos seu sistema operacional.<\/p>\n<p>Isso ocorre porque um determinado shell pode ter uma hierarquia, por assim dizer, de arquivos. Para Bash, isso inclui <strong>.bashrc<\/strong>, <strong>.bash_profile<\/strong> e <strong>.profile.<\/strong> Al\u00e9m disso, voc\u00ea pode definir as configura\u00e7\u00f5es nas configura\u00e7\u00f5es do Terminal do seu sistema operacional.<\/p>\n<p>Por exemplo, se voc\u00ea estiver 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=\"Um guia r\u00e1pido para shells no macOS\" ><\/a><\/p>\n<p>Se, por outro lado, voc\u00ea estiver usando o macOS, precisar\u00e1 usar um dos arquivos mencionados acima. Usando o bash como exemplo, vou detalhar como todos eles se encaixam:<\/p>\n<ul>\n<li><strong>.profile<\/strong> \u00e9 o script de login. Se n\u00e3o existir, voc\u00ea pode criar um e isso executar\u00e1 os comandos que voc\u00ea possui no login na sess\u00e3o. Se voc\u00ea quer que algo seja executado ou algo dispon\u00edvel apenas durante o login, este \u00e9 o arquivo. Isso tamb\u00e9m \u00e9 em todo o sistema.<\/li>\n<li><strong>.bashrc<\/strong> \u00e9 um arquivo que \u00e9 lido durante uma sess\u00e3o de terminal (ou mesmo quando a GUI est\u00e1 sendo usada). Pense nisso \u00e9 login e interativo. Portanto, se voc\u00ea deseja algo dispon\u00edvel durante o login e ao usar o sistema operacional, este \u00e9 um arquivo que voc\u00ea pode usar.<\/li>\n<li><strong>.bash_profile<\/strong> est\u00e1 dispon\u00edvel durante o login e \u00e9 dedicado \u00e0 conta de um indiv\u00edduo.<\/li>\n<\/ul>\n<h2>H\u00e1 mais?<\/h2>\n<p>Como este \u00e9 um guia r\u00e1pido, sim, h\u00e1 mais. Voc\u00ea pode l\u00ea-los na p\u00e1gina de manual espec\u00edfica do seu terminal. Para bash, basta digitar<\/p>\n<pre><code>$ man bash<\/code><\/pre>\n<p>No seu terminal e voc\u00ea receber\u00e1 o guia completo do terminal.<\/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=\"Um guia r\u00e1pido para shells no macOS\" ><\/a><\/p>\n<p>Como um take away, aqui est\u00e1 o que voc\u00ea pode encontrar quando se trata dos arquivos de perfil:<\/p>\n<ul>\n<li><strong>\/bin\/bash<\/strong>. O execut\u00e1vel bash<\/li>\n<li><strong>\/etc\/profile<\/strong>. O arquivo de inicializa\u00e7\u00e3o de todo o sistema, executado para shells de login<\/li>\n<li><strong>~\/.bash_profile<\/strong>. O arquivo de inicializa\u00e7\u00e3o pessoal, executado para shells de login<\/li>\n<li><strong>~\/.bashrc<\/strong>. O sta individual por shell interativo. arquivo rtup<\/li>\n<li><strong>~\/.bash_logout<\/strong>. O arquivo de limpeza do shell de login individual, executado quando um shell de login \u00e9 encerrado<\/li>\n<li><strong>~\/.inputrc<\/strong>. Arquivo de inicializa\u00e7\u00e3o de linha de leitura individual<\/li>\n<\/ul>\n<p>Da pr\u00f3xima vez que voc\u00ea precisar exportar um caminho, definir um valor ou trabalhar com seu perfil, isso deve fornecer um guia sobre onde a altera\u00e7\u00e3o precisa ser feita (e como voc\u00ea pode fazer isso).<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da pr\u00f3xima vez que voc\u00ea precisar trabalhar com os shells no macOS, isso deve fornecer um guia sobre por onde come\u00e7ar.<\/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":[898,1069],"tags":[1170],"class_list":["post-230540","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-um-computador","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=230540"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230540\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/163854"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=230540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=230540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=230540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}