Це можна зробити, просто оголосивши його як новий в командному рядку або повторно оголосивши його. Наприклад, якщо ви хочете додати ~/testfolderдо змінної шляху, ви просто можете ввести її у свій поточний термінал (це лише приклад):
PATH="$HOME/testfolder:$PATH"
Це, звичайно, змінить лише час, коли ви сказали, що сеанс терміналу відкритий. Зверніть увагу на $використання тут, ви залишаєте його для декларації, але якщо ви хочете його відобразити, вам потрібно додати, $щоб розширити його вміст.
Якщо ви хочете оголосити їх більш тривалими та загальними, ви можете додати їх у свій ~/.bashrc(лише для вас) файл або, наприклад, у /etc/bash.bashrcсистему (наприклад, у всій системі), якщо ви хочете, щоб вони рахували лише вас або всіх користувачів. Інший варіант - додати його у свій .profileфайл (лише для себе) там, де він стане життєздатним з моменту входу. Це можна зробити, echoнаприклад, якщо ви впевнені, що ця змінна вже не встановлена або ви створили нові (лише приклад):
echo "variable=value" >> /path/filename
Якщо ви хочете відредагувати файл за межами вашого каталогу користувачів, це той випадок, коли ви хочете редагувати, /etc/bash.bashrcвам потрібно скористатися, sudoі тому ви не можете просто використовувати "тут документ", оскільки це не буде працювати, замість цього використовуйте рядок, як показано нижче:
echo "variable=value" | sudo tee -a /path/filename
Якщо змінна, однак, вже існує, ви можете змінити її за допомогою sedкоманди (також лише приклад):
sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Це дозволить змінити змінну у файлі, але створить її резервну копію до редагування. Якщо ви змінюєте файли за межами свого каталогу користувачів за допомогою sed, вам потрібно використовувати sudoв більшості випадків, так що рядок буде таким:
sudo sed -i.bak 's/variable=value/variable=new-value/' /path/filename
Видалення змінної з файлу можна виконати sedтакож, просто залиште другу частину регулярного вираження порожньою:
sed -i.bak 's/variable=value//' /path/filename
Якщо вас цікавить, які змінні середовища встановлені, ви можете скористатися envкомандою, щоб перелічити їх, ( set -o posix ; set ) | lessабо sh -c set. Усі троє дають різні обсяги продукції, ( set -o posix ; set ) | lessповертаючи найбільш змінні, які фактично встановлені.
( set -o posix ; set )цього простіше сказатиsh -c set. Це буде працювати, навіть якщоshце посилання наbash(що зазвичай не використовується в сучасних версіях Ubuntu).