Відповіді:
Здається, ви можете префіксувати свій скрипт, за допомогою env -i
якого буде очищено середовище перед запуском сценарію:
env -i sh test.sh
Від man env
:
-i, --ignore-environment
start with an empty environment
Не впевнений, чому ви хочете це зробити, хоча ...
chsh ...
. Якщо я просто відкрию вікно терміналу і запускаю zsh
або fish
(з або без -l
значення не має значення), це забруднює моє середовище всілякими змінними з оболонка я почав це робить трюк с. env -c
вирішує цю проблему для мене і я. env -i TERM=xterm-256color $(which fish)
.
Наскільки мені відомо, відповідь - «Ні». Ви можете змінювати змінні середовища в самому сценарії. Значення змінної середовища повинно повернутися до початкового значення, коли сценарій буде виконаний. Вам, ймовірно, потрібно запустити скрипт як дочірній процес: $ this.script.sh &, щоб уникнути необхідності виходити зі своєї оболонки будь-коли одноразово запускати сценарій, щоб повернути змінні середовища до початкового значення.
Редагувати:
З попереднього плаката, здавалося б, я помиляюся, що це неможливо.