Możesz to zrobić po prostu zadeklarując jako nowy w wierszu poleceń lub ponownie deklarując. Na przykład, jeśli chcesz dodać ~/testfolder
do 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 ~/.bashrc
pliku (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 .profile
pliku (tylko dla siebie), gdzie będzie to możliwe od momentu zalogowania. Możesz to zrobić echo
na 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ć, sudo
wię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ą sed
polecenia (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ć sudo
w 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ć env
polecenia, aby je wyświetlić, ( set -o posix ; set ) | less
lub sh -c set
. Wszystkie trzy dają różne wartości wyjściowe, ( set -o posix ; set ) | less
zwracając najwięcej ustawionych zmiennych.
( set -o posix ; set )
łatwiej powiedziećsh -c set
. Działa to nawet, jeślish
jest dowiązaniem symbolicznym dobash
(co zwykle nie jest dostępne w nowoczesnych wersjach Ubuntu).