Conchas Bash com diferentes variáveis de ambiente

5

Eu quero de alguma forma entrar em um shell bash diferente com algumas variáveis de ambiente alteradas.

Por exemplo, se eu executar o script bfin.sh e ele contiver algo como

export PATH=/home/me/bfin2012:$PATH

Eu quero criar um shell bash com essa variável alterada. Como fazer isso?

    
por Marin 16.10.2012 / 19:15

3 respostas

5

Para carregar variáveis de ambiente que você colocou em um arquivo, você pode usar o comando source . por exemplo,

Veja o caminho atual:

 > echo $PATH
 /bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin

Arquivo com configurações de ambiente personalizadas.

 > cat exports
 export PATH="/home/me/bfin2012:$PATH"
 export ...

Carregar ambiente personalizado

 > source exports

Confirme as alterações.

 > env | grep '^PATH'
 PATH=/home/me/bin2012:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin
    
por 16.10.2012 / 19:24
1

Você já definiu a variável e exportou a variável set. Se você quiser inserir um novo bash shell neste momento com essa variável presente, basta executar:

bash

Note que o procedimento de inicialização do novo shell pode acabar sobrescrevendo sua variável! Isso pode acontecer em .bashrc , por exemplo.

    
por 16.10.2012 / 20:29
0

Altere seu script para terminar com exec bash ou execute

sh -c '. bfin.sh; exec bash'

Se você quiser alterar o ambiente do shell atual, execute

. bfin.sh

O . (ponto ou ponto) embutido executa o comando do script especificado dentro do mesmo ambiente de shell, como uma função.

    
por 17.10.2012 / 00:03