Puoi farlo semplicemente dichiarandolo come nuovo nella riga di comando o dichiarandolo nuovamente. Ad esempio, se vuoi aggiungere ~/testfolderalla tua variabile path, puoi semplicemente inserirla nel tuo terminale corrente (questo è solo un esempio):
PATH="$HOME/testfolder:$PATH"
Questo ovviamente lo cambierà solo per il momento in cui hai detto che la sessione terminale è aperta. Si noti l' $utilizzo qui, lo si lascia fuori per la dichiarazione, ma se si desidera visualizzarlo è necessario aggiungere $per espandere il suo contenuto.
Se si desidera dichiararli più duraturi e generali, è possibile aggiungerli nel file ~/.bashrc(solo per l'utente) o in /etc/bash.bashrc(a livello di sistema), ad esempio se si desidera che vengano conteggiati solo per te o per tutti gli utenti. Un'altra opzione è aggiungerlo al tuo .profilefile (solo per te stesso) dove sarà praticabile dal momento in cui accedi. Puoi farlo con echoad esempio se sei sicuro che questa variabile non sia già impostata o se ne crei di nuovi (solo un esempio):
echo "variable=value" >> /path/filename
Se tuttavia vuoi modificare un file al di fuori della tua directory utente, il che è il caso quando vuoi modificarlo, /etc/bash.bashrcdevi usare sudoe quindi non puoi semplicemente usare un 'documento qui' poiché questo non funzionerebbe, invece usa una riga come sotto:
echo "variable=value" | sudo tee -a /path/filename
Se la variabile tuttavia esiste già, puoi cambiarla con il sedcomando (anche solo un esempio):
sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Ciò modificherà la variabile nel file ma ne creerà un backup prima della modifica. Se cambi file al di fuori della tua directory utente con sed, devi usarli sudonella maggior parte dei casi, quindi la linea sarebbe:
sudo sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Anche la rimozione di una variabile da un file può essere eseguita sed, lasciando vuota la seconda parte della regex:
sed -i.bak 's/variable=value//' /path/filename
Se sei interessato a quali variabili di ambiente sono impostate, puoi utilizzare il envcomando per elencarle ( set -o posix ; set ) | lesso sh -c set. Tutti e tre forniscono varie quantità di output, ( set -o posix ; set ) | lessrestituendo la maggior parte delle variabili che sono effettivamente impostate.
( set -o posix ; set )è più semplice da diresh -c set. Funzionerà anche seshè un link simbolico abash(che normalmente non è nelle moderne versioni di Ubuntu).