From 45c3a8e1aa6fc4ae2621eb6eabbdb361591f9502 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Tue, 25 Mar 2008 10:28:42 -0300 Subject: [PATCH] =?utf8?q?Mais=20sobre=20vari=C3=A1veis=20de=20ambiente.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- environ/shell | 70 +++++++++++++++++++++++++++++++++++++++++++++++ environ/variaveis | 2 ++ 2 files changed, 72 insertions(+) diff --git a/environ/shell b/environ/shell index 7995116..111f8d8 100644 --- a/environ/shell +++ b/environ/shell @@ -24,3 +24,73 @@ O shell expande o caractere '$' seguido do nome de uma variável por seu valor. Assim, o valor de variáveis podem ser usados em comandos do shell, permitindo que valores usados com muita frequência possam ser abreviados ou facilmente substituídos. + +Exemplo + +Exibe o valor da variável HOME na saída padrão: +echo $HOME + +Lista os arquivos no diretório, que é o valor da variável HOME: +ls $HOME + +Quem faz a expensão do valor dessa variável é o shell. Portanto, +comandos externos e internos recebem como parâmetro o valor da variável +e não o nome da variável. + +Para que outros programas façam uso dessas variáveis de ambiente, é +necessário que o shell as exporte antes de executar tais programas. Para +fazê-lo, usamos o comando export. + +export HOME +export MYNAME + +Note que é o nome da variável que é usado para exportá-la, não seu +valor. Feito isso, podemos fazer o teste executando um sub-shell, isto +é, um shell dentro de outro shell. + +OTHERNAME="User Name" +bash +echo $MYNAME +echo $OTHERNAME +exit + +Veja que a variável MYNAME, que foi exportada, teve seu valor +substituído no sub-shell. Já a variável OTHERNAME, não foi substituída +pelo sub-shell, pois este não conhecia seu valor, já que a variável não +foi exportada pelo shell. + +O bash ainda possui os comandos internos set e unset, que podem ser +utilizados para visualizar a lista de variáveis de ambiente e remover +variáveis de ambiente. + +set Lista variáveis de ambiente e funções definidas. +unset Remove a variável de ambiente. + +Exemplos + +Remover a variável de ambiente MYNAME: +echo $MYNAME +unset MYNAME +echo $MYNAME + +Listar as variáveis de ambiente e funções: +set + +O comando set lista apenas as variáveis de ambiente, se o bash estiver +operando em modo POSIX. Para isso, basta definir a variável +POSIXLY_CORRECT. + +POSIXLY_CORRECT=1 +set + +Outro comando, env, pode ser usado pra manipular o ambiente. Este +comando externo pode executar um outro comando com um novo ambiente +definido ou simplesmente listar o ambiente atual. + +Exemplos + +Listar variáveis de ambiente: +env + +Executar o comando ls com a variável POSIXLY_CORRECT em seu ambiente: +env POSIXLY_CORRECT=1 ls / -a diff --git a/environ/variaveis b/environ/variaveis index aefd002..42c8595 100644 --- a/environ/variaveis +++ b/environ/variaveis @@ -21,3 +21,5 @@ SHELL Shell usado pelo usuário. TERM Tipo do terminal utilizado. PAGER Paginador a utilizar, como less ou more. EDITOR Editor a utilizar. +POSIXLY_CORRECT Usada por ferramentas GNU para determinar seu +comportamento segundo o padrão POSIX. -- 2.20.1