Вы должны идти другим путем. Добавьте строку в конце вашего .bashrc
, которые изменяют каталог в последнем каталоге, предыдущий экземпляр Bash был в виде CWD
(текущий рабочий каталог).
Такая строка сработала для меня:
cd $(readlink "/proc/$(echo -n $(ps -u $(whoami) -eo stat,pid,cmd | awk '$3 == "'$(which bash)'" && $1 ~ /\+/{print $2}' | sort | head -1))/cwd")
Объяснение :
CD $ (...)
: изменения каталога на то, что можно определить ниже ReadLink / proc / $ (. ..) / cwd
: считывает ссылку, в которой / proc / pid / cwd
указывает на (текущий рабочий каталог) echo -n $ (...)
: удаляет Training Newline PS -U $ (WHOAMI) -EO STAT, PID, CMD
: показывает мой процесс в простом формате awk '$ 3 == "$ (какой bash)'" && $ 1 ~ / \ + / {print $ 2} '
Если это Bash
и Bash
находится в группе процесса переднего плана (указана +
в STAT
поле), затем распечатать PID Сортировка | Head -1
Мы хотим только самую низкую PID редактировать:
в вашем случае это может быть лучшее решение:
cd $(readlink /proc/$(pgrep -n meteor)/cwd)
определяет PID новейшего экземпляра METEOR
и Изменения в этом текущем рабочем каталоге.
или
Вы также можете поставить переключатель [1189572]-r[1189573] (как в [1189574]userdel -r bob[1189575]), чтобы также удалить содержимое домашнего каталога пользователя. Осторожно, однако, это было бы [1189576] ужасной идеей [1189577] в случае, если вы удаляете пользователей системы, так как у них обычно есть дома, которые живут под [1189578]/etc[1189579] и [1189580]/var/lib[1189581].[1189143].
Function Unicode(val As String)
Unicode = ChrW("&H" & val)
End Function
Обратите внимание, что -i опция доступна только в GNU Sed.[1189133].