Você pode fazer isso simplesmente declarando-o como novo na linha de comando ou declarando-o novamente. Por exemplo, se você deseja adicionar ~/testfolder
à sua variável de caminho, basta inseri-la no seu terminal atual (este é apenas um exemplo):
PATH="$HOME/testfolder:$PATH"
Obviamente, isso só será alterado durante o tempo em que a sessão do terminal estiver aberta. Observe o $
uso aqui, você o deixa de fora para declaração, mas se quiser exibi-lo, precisará adicioná-lo $
para expandir seu conteúdo.
Se você deseja declará-las mais duradouras e gerais, pode adicioná-las ao seu ~/.bashrc
arquivo (somente para você) ou em /etc/bash.bashrc
(todo o sistema), por exemplo, se desejar que contem apenas para você ou para todos os usuários. Outra opção é adicioná-lo ao seu .profile
arquivo (somente para você), onde será viável a partir do momento em que você efetuar login. Você pode fazer isso echo
por exemplo, se tiver certeza de que essa variável ainda não está definida ou se você criar novas. (apenas um exemplo):
echo "variable=value" >> /path/filename
Se no entanto quiser editar um arquivo fora do seu diretório de usuário que é o caso quando você quer editar /etc/bash.bashrc
você precisa usar sudo
e assim você não pode simplesmente usar um 'aqui documento' uma vez que este não iria funcionar, em vez usar, em seguida, uma linha como a seguir:
echo "variable=value" | sudo tee -a /path/filename
Se a variável já existir, você pode alterá-la com o sed
comando (também apenas um exemplo):
sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Isso editará a variável no arquivo, mas criará um backup dela antes da edição. Se você alterar arquivos fora do diretório de usuários com o sed, precisará usar sudo
na maioria dos casos, para que a linha seja:
sudo sed -i.bak 's/variable=value/variable=new-value/' /path/filename
A remoção de uma variável de um arquivo também pode ser feita sed
, basta deixar a segunda parte do regex vazia:
sed -i.bak 's/variable=value//' /path/filename
Se você estiver interessado em quais variáveis de ambiente estão definidas, use o env
comando para listá-las, ( set -o posix ; set ) | less
ou sh -c set
. Todos os três fornecem várias quantidades de saída, ( set -o posix ; set ) | less
devolvendo a maioria das variáveis que estão realmente definidas.
( set -o posix ; set )
é mais fácil dizersh -c set
. Isso funcionará mesmo quesh
seja um link simbólico parabash
(que normalmente não está nas versões modernas do Ubuntu).