【发布时间】:2021-04-07 11:46:24
【问题描述】:
我正在使用 tcsh。我想将“cdup”别名为cd,直到参考目录下一级的目录。例如,如果我的参考目录是 /home/myself/support/bugs/,并且我在 /home/myself/support/bugs/bug1/foo/bar,我希望 cdup 将目录更改为 /家/我自己/支持/错误/错误1。
我尝试了以下方法:
alias cdup 'cd `perl -e \'print $1 if $ENV{PWD} =~ m#\(/home/myself/support/bugs/[^/]+\)#\'`'
但我明白了:
不匹配的`。
【问题讨论】:
-
与
cd ../..相比,这似乎是不必要的复杂? -
如果他比他的参考目录低 5 个目录,那将无济于事。
-
提出问题的方式可能包含错误 --- 如果您不在参考目录中,您的别名最终将是
cd,即。它会把你放在主目录中......这真的是你想要的吗?如果是这样,可以简化代码。如果没有,那该怎么办?