我正在使用 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”。