注销后保留 OLDPWD

mkc*_*mkc 2 bash environment-variables

我经常需要转到我退出服务器时所在的目录。我习惯性地cd -用于这个目的。但是,注销并重新登录后,这不起作用,因为显然已OLDPWD重置:

$ cd -
-bash: cd: OLDPWD not set
Run Code Online (Sandbox Code Playgroud)

有没有办法OLDPWD在 bash 中保留登录会话之外的值?

Jes*_*hez 7

对我来说,似乎最简单的方法是创建一个 .oldpwd 文件来存储会话之间的最后一个 pwd 位置。

为此,您可以使用 ~/.bash_logout(如果使用 BASH)或 ~/.logout(如果使用 tcsh/csh)。

只需在 ~/.logout ( 或 ~/.bash_logout ) 中放一些这样的行

echo $(pwd) > ~/.oldpwd
Run Code Online (Sandbox Code Playgroud)

以及 ~/.profile ( 或 ~./bash_profile ) 中的类似内容

export OLDPWD=$(cat ~/.oldpwd)
Run Code Online (Sandbox Code Playgroud)

  • 好点子; 更简单地说,让 .bash_logout 做 `env | grep OLDPWD > ~/.oldpwd`,并让 .bash_profile 做`。~/.oldpwd` (2认同)