1 Alterando variáveis de ambiente no bash
3 O shell do projeto GNU, bash, é um dos mais populares entre sistemas
4 utilizando GNU e Linux, como Debian, Fedora, Mandriva, SuSE, Gentoo,
5 entre outros. Veremos como utilizar as variáveis de ambiente nesse
8 Para definir uma variável no bash, basta executar uma linha como:
11 O nome da variável deve conter apenas caracteres alfa-numéricos e
12 sublinhado, começando por caracteres alfabéticos ou sublinhado. O
13 caractere '=' não pode ser precedido ou seguido de espaços. O valor da
14 variável deve ser escapado com aspas duplas, aspas simples ou o
15 caractere '\' caso contenha caracteres como espaço ou outros caracteres
16 especiais para o shell.
18 Nomes de variáveis são "sensíveis à caixa", ou seja, há distinção entre
19 maiúsculas e minúsculas. No entanto, é comum que sejam utilizadas apenas
20 maiúsculas em muitas variáveis, por mera convenção.
27 O shell expande o caractere '$' seguido do nome de uma variável por seu
28 valor. Assim, o valor de variáveis podem ser usados em comandos do
29 shell, permitindo que valores usados com muita frequência possam ser
30 abreviados ou facilmente substituídos.
34 Exibe o valor da variável HOME na saída padrão:
37 Lista os arquivos no diretório, que é o valor da variável HOME:
40 Quem faz a expensão do valor dessa variável é o shell. Portanto,
41 comandos externos e internos recebem como parâmetro o valor da variável
42 e não o nome da variável.
44 Para que outros programas façam uso dessas variáveis de ambiente, é
45 necessário que o shell as exporte antes de executar tais programas. Para
46 fazê-lo, usamos o comando export.
51 Note que é o nome da variável que é usado para exportá-la, não seu
52 valor. Feito isso, podemos fazer o teste executando um sub-shell, isto
53 é, um shell dentro de outro shell.
61 Veja que a variável MYNAME, que foi exportada, teve seu valor
62 substituído no sub-shell. Já a variável OTHERNAME, não foi substituída
63 pelo sub-shell, pois este não conhecia seu valor, já que a variável não
64 foi exportada pelo shell.
66 O bash ainda possui os comandos internos set e unset, que podem ser
67 utilizados para visualizar a lista de variáveis de ambiente e remover
68 variáveis de ambiente.
70 set Lista variáveis de ambiente e funções definidas.
71 unset Remove a variável de ambiente.
75 Remover a variável de ambiente MYNAME:
80 Listar as variáveis de ambiente e funções:
83 O comando set lista apenas as variáveis de ambiente, se o bash estiver
84 operando em modo POSIX. Para isso, basta definir a variável
90 Outro comando, env, pode ser usado pra manipular o ambiente. Este
91 comando externo pode executar um outro comando com um novo ambiente
92 definido ou simplesmente listar o ambiente atual.
96 Listar variáveis de ambiente:
99 Executar o comando ls com a variável POSIXLY_CORRECT em seu ambiente:
100 env POSIXLY_CORRECT=1 ls / -a