返回终端中的默认目录

返回终端中的默认目录

我正在使用 Kubuntu 22.04,带有“Konsole”和“Terminator”。

我为它们每个都设置了一个默认的起始目录(我们称之为/my/quite/complex/default/destination/directory)。

经过大量工作并在许多不同的目录之间移动后,我想回到默认状态,而不必输入所有内容...是否有一个简单的cd命令可以做到这一点?

注意:该目录不是 /home/myUser,因此cd ~不会解决问题,并且cd -只会回到最后一个,而不是第一个。

谢谢你们。

答案1

编辑您~/.bashrc店铺每次启动 shell 时,起始目录通常位于 shell 变量中。例如:

startdir=$PWD

一旦拥有了它,您就可以直接使用它cd "$startdir"(为此,您可以选择一个较短的变量名,例如$h),或者创建别名/函数:

alias ret='cd "$startdir"'
ret() { cd "$startdir"; }

答案2

一些选项:

  • 添加到您的 的别名~/.bashrc已经可以剪切它了:

      alias mcd='cd /my/quite/complex/default/destination/directory'
    

    现在,该命令mcd将带您进入该目录。

  • ~/.bashrc,您可以在变量中定义目录为

    export MD=/my/quite/complex/default/destination/directory
    

    然后,cd $MD将带您进入该目录。

  • 稍微复杂一点的方法就是,你可以cd使用一个函数覆盖命令,该函数不带参数,会带你进入所需目录,带参数则照常运行。这可以通过 bash 函数实现,如下所示。将其包含在 中~/.bashrc

    cd () {
       if [ -z $1 ] ;  then
          command cd /my/quite/complex/default/destination/directory 
       else
          command cd $@
       fi
    }
    
  • 更改$HOME变量~./bashrc将从根本上实现您的目标。这不会影响桌面环境,因为更改的变量仅在交互式终端和子 shell 中有效,但仍有可能特定图形(系统)工具因设置错误而出现故障HOME

    不过,在函数中临时更改 HOME 应该是安全的:

    cd () {
       OLDHOME=$HOME
       HOME=/my/quite/complex/default/destination/directory
       command cd $@
       HOME=$OLDHOME ; unset OLDHOME
    }
    

答案3

从 bash 手册页查看 CDPATH。
export CDPATH=".:~:/my/quite/complex/default/destination"

然后 cd directory 将带您到 /my/quite/complex/default/destination/directory。前提是 CDPATH 中没有更早的“directory”。

相关内容