Możesz to zrobić po prostu zadeklarując jako nowy w wierszu poleceń lub ponownie deklarując. Na przykład, jeśli chcesz dodać ~/testfolderdo zmiennej ścieżki, możesz po prostu wpisać ją w bieżącym terminalu (to tylko przykład):
PATH="$HOME/testfolder:$PATH"
To oczywiście zmieni to tylko na czas, kiedy powiedziałeś, że sesja terminalowa jest otwarta. Zwróć uwagę na $użycie tutaj, pomijasz je dla deklaracji, ale jeśli chcesz je wyświetlić, musisz dodać, $aby rozwinąć jego zawartość.
Jeśli chcesz zadeklarować, że są bardziej trwałe i ogólne, możesz dodać je do ~/.bashrcpliku (tylko dla Ciebie) lub do /etc/bash.bashrc(całego systemu), na przykład, jeśli chcesz, aby liczyły się tylko dla Ciebie lub dla wszystkich użytkowników. Inną opcją jest dodanie go do .profilepliku (tylko dla siebie), gdzie będzie to możliwe od momentu zalogowania. Możesz to zrobić echona przykład, jeśli masz pewność, że ta zmienna nie jest już ustawiona lub jeśli tworzysz nowe (tylko przykład):
echo "variable=value" >> /path/filename
Jeśli jednak chcesz edytować plik poza katalogiem użytkownika, co ma miejsce w przypadku edycji /etc/bash.bashrc, musisz użyć, sudowięc nie możesz po prostu użyć „dokumentu tutaj”, ponieważ to nie zadziała, zamiast tego użyj linii takiej jak poniżej:
echo "variable=value" | sudo tee -a /path/filename
Jeśli zmienna już istnieje, możesz ją zmienić za pomocą sedpolecenia (również tylko przykład):
sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Spowoduje to edycję zmiennej w pliku, ale utworzy kopię zapasową przed edycją. Jeśli zmienisz pliki poza katalogiem użytkownika za pomocą sed, musisz użyć sudow większości przypadków, aby wiersz brzmiał:
sudo sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Usunięcie zmiennej z pliku można również wykonać sed, wystarczy pozostawić drugą część wyrażenia regularnego pustą:
sed -i.bak 's/variable=value//' /path/filename
Jeśli jesteś zainteresowany, które zmienne środowiskowe są ustawione, możesz użyć envpolecenia, aby je wyświetlić, ( set -o posix ; set ) | lesslub sh -c set. Wszystkie trzy dają różne wartości wyjściowe, ( set -o posix ; set ) | lesszwracając najwięcej ustawionych zmiennych.
( set -o posix ; set )łatwiej powiedziećsh -c set. Działa to nawet, jeślishjest dowiązaniem symbolicznym dobash(co zwykle nie jest dostępne w nowoczesnych wersjach Ubuntu).