每当在 urxvt 中打开新选项卡时,cwd(当前工作目录)就是 bashrc 中设置的默认目录。
如何让新标签页在当前标签页的cwd处打开?
答案1
首先,您可以使用cd
每次更改目录时存储当前目录的函数来覆盖内置函数。
cd() {
command cd $@
pwd > ~/.curdir
}
然后,您可以在打开的每个新 shell 中更改为最后一个已知目录:
command cd `cat ~/.curdir`
如果您将这两个片段都放入您的 中~/.bashrc
,则您打开的每个新 shell 都会具有覆盖的cd
命令,并将尝试更改到最后一个已知目录:
#!/bin/bash
cd() {
command cd $@
pwd > ~/.curdir
}
command cd `cat ~/.curdir`
请注意,我使用command
内置函数来访问原始cd
命令,而不是名为 的函数cd()
。另请注意,这样做可能会产生意想不到的副作用,特别是当您同时打开多个 shell 时(这就是使用urxvt
选项卡的全部意义)。