我知道我在我的 Linux 机器上遇到了这个问题,但现在我在 Mac OS X 上,我需要做同样的事情。我想使用 pushd 和 popd 在多个位置调用脚本或二进制文件,但在此期间我需要保持相同的工作目录。
这是一个测试脚本。我认为这是我事先这样做的愚蠢方式:
cd ~
pushd . 1>/dev/null
cd Documents
NEW_DIR=`pwd`
OLD_DIR=$(`popd`)
cd $OLD_DIR
echo Current directory: `pwd`
echo New directory: $NEW_DIR
结果是:
$ ./pushpop.sh
./pushpop.sh: line 5: cd: ~: No such file or directory
Current directory: /Users/NobleUplift
New directory: /Users/NobleUplift/Documents
它有效,但并非没有错误。