当使用ssh登录到linux系统时,默认情况下它会进入用户工作目录。例如root用户的/root。我想配置我的bashrc,这样如果我下次登录,它会把我带到根用户的上一个工作目录。
只要您使用单个用户,就可以添加这样的内容。
-
创建一个
.bash_logout
文件并将当前目录保存到已知文件:pwd >"$HOME/.last_directory"
-
然后,在
.bashrc
文件中,将该文件和cd
读取到目录中。dir="$(<"$HOME/.last_directory")" [ -d "$dir" ] && cd "$dir"
需要注意的事项:
- 此解决方案应该适用于空间,但可能需要额外调整
- 这只适用于一个用户,即
.bashrc
和.bash_logout
的"所有者"。如果您希望这适用于多个用户(例如您自己和root
),一种解决方案是在每个用户的.bashrc
和.bash_logout
中创建类似的指令,但使它们使用独立于当前$HOME
的通用.last_directory
文件。另一种选择是使用系统范围的/etc/bash.bash_logout
和/etc/bas.bashrc
(如l0b0所建议的) - 使用信号突然关闭会话(=关闭终端而不是键入
exit
、logout
或点击^D
),或者在SSH的情况下断开网络连接,将导致.bash_logout
而不是启动,这将不会保存目录