Sie können dies einfach tun, indem Sie es in der Befehlszeile als neu deklarieren oder erneut deklarieren. Wenn Sie beispielsweise ~/testfolderIhre Pfadvariable hinzufügen möchten , können Sie sie einfach in Ihr aktuelles Terminal eingeben (dies ist nur ein Beispiel):
PATH="$HOME/testfolder:$PATH"
Dies ändert sich natürlich nur für die Zeit, in der Sie die Terminalsitzung geöffnet haben. Beachten Sie die $Verwendung hier, Sie lassen sie für die Deklaration aus, aber wenn Sie sie anzeigen möchten, müssen Sie sie hinzufügen $, um ihren Inhalt zu erweitern.
Wenn Sie sie für dauerhafter und allgemeiner erklären möchten, können Sie sie in Ihre ~/.bashrc(nur für Sie) Datei oder in /etc/bash.bashrc(systemweit) hinzufügen, wenn Sie möchten, dass sie nur für Sie oder für alle Benutzer zählen. Eine andere Möglichkeit besteht darin, es Ihrer .profileDatei hinzuzufügen (nur für Sie selbst), wo es ab dem Moment Ihrer Anmeldung funktionsfähig ist. Sie können dies echobeispielsweise tun, wenn Sie sicher sind, dass diese Variable noch nicht festgelegt ist, oder wenn Sie neue erstellen (nur ein Beispiel):
echo "variable=value" >> /path/filename
Wenn Sie jedoch eine Datei außerhalb Ihres Benutzerverzeichnisses bearbeiten möchten, was beim Bearbeiten der Fall ist, /etc/bash.bashrcmüssen sudoSie sie verwenden. Daher können Sie nicht einfach ein "Hier-Dokument" verwenden, da dies nicht funktionieren würde. Verwenden Sie stattdessen eine Zeile wie die folgende:
echo "variable=value" | sudo tee -a /path/filename
Wenn die Variable jedoch bereits vorhanden ist, können Sie sie mit dem sedBefehl ändern (auch nur ein Beispiel):
sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Dadurch wird die Variable in der Datei bearbeitet, aber vor der Bearbeitung wird eine Sicherungskopie erstellt. Wenn Sie Dateien außerhalb Ihres Benutzerverzeichnisses mit sed ändern, müssen Sie sudoin den meisten Fällen Folgendes verwenden :
sudo sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Das Entfernen einer Variablen aus einer Datei ist ebenfalls möglich. sedLassen Sie einfach den zweiten Teil des regulären Ausdrucks leer:
sed -i.bak 's/variable=value//' /path/filename
Wenn Sie interessiert sind, welche Umgebungsvariablen festgelegt sind, können Sie sie mit dem envBefehl auflisten, ( set -o posix ; set ) | lessoder sh -c set. Alle drei geben unterschiedliche Ausgabemengen an, ( set -o posix ; set ) | lesswobei die meisten tatsächlich gesetzten Variablen zurückgegeben werden.
( set -o posix ; set )es einfacher zu sagensh -c set. Dies funktioniert auch dann, wennshes sich um einen Symlink handeltbash(was normalerweise bei modernen Ubuntu-Versionen nicht der Fall ist).