Чтобы очистить стек, и восстанавливают работоспособность каталог из нижней части стека, либо:
получить этот каталог из dirs
, перейти в этот каталог, а затем очистить стек:
cd "$ (dirs -l -0)" && dirs -c
Параметр -l
здесь перечислит полные пути, чтобы убедиться, что мы не потерпим неудачу, если попытаемся cd
в ~
, а -0
извлекает первую запись из нижней части стека.
@ jw013 предложил сделать эту команду более надежной, избегая расширения пути:
pushd -0 && dirs -c
или popd
, пока не возникнет ошибка ( что является статусом вызова popd
, когда стек каталогов пуст):
while (($? == 0)); сделать popd; выполнено
То же самое должно работать и в nixos, хотя такие переменные, как EDITOR
, скорее всего, должны быть в .profile
. .bashrc
IIRC предназначен только для интерактивных оболочек, поэтому экспортированные туда переменные не будут доступны в программах, запускаемых из меню среды рабочего стола.
Вы также можете установить environment.variables.VARIABLE = "VALUE";
в configuration.nix
, но это не совсем подходит для личных переменных, таких как EDITOR
. (оф. если вы единственный пользователь, это не имеет большого значения)