如何配置bashrc转到上一个会话工作目录

时间:2015-02-09 12:07:30

标签: linux bash

使用ssh登录linux系统时,默认情况下会转到用户工作目录。例如/ root用户。 我想配置我的bashrc,这样如果我下次登录它就会把我带到root用户以前的工作目录。

1 个答案:

答案 0 :(得分:3)

只要您与单个用户合作,就可以添加类似的内容。

  1. 创建.bash_logout文件并将当前目录保存到已知文件:

    pwd >"$HOME/.last_directory"
    
  2. 然后,在.bashrc文件中将该文件和cd读入目录。

    dir="$(<"$HOME/.last_directory")"
    [ -d "$dir" ] && cd "$dir"
    
  3. 需要注意的事项:

    1. 此解决方案适用于空格,但可能需要进一步调整。
    2. 这仅适用于一位用户 - 即.bashrc.bash_logout&#34;所有者&#34;。如果您打算为多个用户(例如您自己和root)工作,一种解决方案是在每个用户的.bashrc.bash_logout中创建类似的说明,但要使用它们公共.last_directory文件独立于当前$HOME。另一种选择是使用系统范围的/etc/bash.bash_logout/etc/bas.bashrc(根据l0b0的建议)。
    3. 使用信号突然关闭会话(=关闭终端而不是键入exitlogout或点击^D),或者在SSH情况下断开网络连接会导致{{ 1}} 触发,无法保存您的目录。