我使用“cd -”在文件夹之间切换。例如:
cd /etc/
cd -
但是为什么“cd -”会打印地址(像 pwd)?我怎样才能阻止它打印地址?
答案1
当使用-作为操作数时,这应等同于以下命令:
cd "$OLDPWD" && pwd
它将改变到上一个工作目录然后写入其名称。
因此,如果您不想打印一半的行为,只需自己执行第一部分:
cd "$OLDPWD"
或者波浪符号扩展等价物
cd ~-
通常,如果您需要这个,pushd
/popd
是一个更好的选择,尽管便携性较差。
答案2
只需将标准输出重定向到黑洞即可
cd - > /dev/null
答案3
最简单的方法就是不使用它。在单独的 shell 中运行命令:
(cd /etc/; ... )
这不会改变“主”shell 的当前工作目录。这通常比使用更强大,OLDPWD
因为您可以cd
在此处使用许多命令,例如
(cd /etc; ... ; cd /tmp; ... )