这是我的脚本
cd /opt/product/vinoth
-- some operations --
cd -
执行此命令时,cd -
旧路径将显示在控制台中。
有什么方法可以阻止它在控制台中显示。
通过在命令前面使用 @ 可以避免在 make 文件中出现同样的情况。
通过冲浪,我了解到这可以通过使用来实现cmd=$(cd -)
该命令未执行且路径未更改。
答案1
改用OLDPWD
:
/ $ cd /tmp
/tmp $ echo $OLDPWD
/
/tmp $ cd "$OLDPWD"
/ $
从man bash
:
OLDPWD The previous working directory as set by the cd command.
...
cd
An argument of - is converted to $OLDPWD before the directory
change is attempted.
$(cd -)
在子 shell 中运行,因此不会影响当前 shell。
您还可以这样做:
cd - >/dev/null
答案2
正如中所解释的这答案,一个简短的变体,当 cd 到上一个工作目录时使用波形符扩展时不显示目录~-
:
cd ~-