Сохраните $OLDPWD между сессиями Shell

Часто, я оставляю терминал и на следующий день выполняю его снова. Затем я хочу смочь быстро вернуться к последнему рабочему каталогу.

Я хотел бы сделать это использование cd - как обычно. Но $OLDPWD не сохранен между терминальными сеансами.

Таким образом, я добавил псевдоним для exit записать pwd в файл и читают его на следующем запуске.

alias exit='pwd > ~/.lwd && exit;'
test -f ~/.lwd && export OLDPWD=`head -1 ~/.lwd`

Это работает отлично на exit.

Как я могу создать тот же псевдоним (или сделать прерывание) для Ctrl+D ?

2
задан 11 May 2017 в 10:23

2 ответа

Используйте trap, чтобы добавить обработчик для EXIT:

trap 'pwd > ~/.lwd' EXIT

Это должно обрабатывать как команду exit, так и Ctrl D . Остальное вы можете сделать как с псевдонимом.

4
ответ дан 2 December 2019 в 01:43

Благодаря Анвар , чтобы вести меня в правильном направлении. Этот пост из Unix & amp; Linux Stack Exchange помог мне.

Я создал файл ~/.bash_logout следующего содержания:

echo "$PWD" > ~/.lwd

В ~/.bashrc я добавил:

test -f ~/.lwd && export OLDPWD=`head -1 ~/.lwd`

Это работает для exit и [ 1111] Ctrl D для терминала gnome и для соединений ssh.

2
ответ дан 2 December 2019 в 01:43

Другие вопросы по тегам:

Похожие вопросы: