这是《生产性程序员》一书中的命令行技巧:
pushd `which java`/..
作者说,此命令可以暂时转到可执行命令java所在的目录。
当我在Linux中键入此命令时,Bash抱怨:
bash: pushd: /usr/bin/java/..: Not a directory
我还尝试将目录更改为/usr/bin/java/..
直接:
$ pushd /usr/bin/java/..
bash: pushd: /usr/bin/java/..: Not a directory
为什么我失败了?为什么不能使用更改目录/..
?如何修改此命令以完成相同任务?
失败是因为/usr/bin/java
是文件,而不是目录。
你可以做:
cd "$(dirname "$(which java)")"
或在中使用参数扩展zsh
:
cd "${"$(which java)"%/*}"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句