有没有一种方法可以告诉screen
您在将符号链接传递给chdir
命令时不要取消引用符号链接?
在我的命令中.screenrc
,我有这样的命令:
chdir /data/project1
screen -t "project1"
chdir /data/project2
screen -t "project2"
这个想法是,当我启动时screen
,我会在我经常使用的一堆常见目录中预加载一些终端。
不幸的是,其中的所有内容/data
都是我系统上的符号链接,因此当我screen
使用上述命令加载时,终端将保留在不同的目录中,例如/mnt/remote/server1/long/path/to/project1
而不是/data/project1
.我必须cd /data/project1
在终端中输入才能进入我想要的文件夹。
由于我使用的路径很长并且可以更改,因此我更喜欢养成使用/data
快捷方式的习惯,这样如果我将文件重新定位到其他地方,我就不必改变任何习惯。
有没有什么方法可以告诉screen
我们,当使用chdir
并且目标是符号链接时,不要取消引用符号链接并只是更改为该目录?
答案1
我猜你只是误解了那里发生的事情。
当你在
/mnt/remote/server1/long/path/to/project1
与你的外壳和类型
cd /data/project1
那么你就不要改变目录。您只需更改 shell 显示的内容即可。 shell 区分逻辑目录层次结构和物理目录层次结构。screen
(以及或多或少的其他一切)没有。
最简单的解决方案可能是添加一些代码.bashrc
(假设您使用bash
):
test "$PWD" = '/mnt/remote/server1/long/path/to/project1' && cd /data/project1