Ber*_*ard 5 shell bash cd-command pushd
我很高兴使用该cd -命令转到上一个目录。同时我喜欢pushd .和popd。
但是,当我想通过 记住当前工作目录时pushd .,我失去了通过 转到上一个目录的可能性cd -。(pushd .也执行cd .)。
怎么用pushd才能用cd -
顺便说一句:GNU bash,版本 4.1.7(1)
你可以使用这样的东西:
push() {
if [ "$1" = . ]; then
old=$OLDPWD
current=$PWD
builtin pushd .
cd "$old"
cd "$current"
else
builtin pushd "$1"
fi
}
Run Code Online (Sandbox Code Playgroud)
如果您将其命名为pushd,那么它将优先于内置函数,因为函数在内置函数之前进行评估。
您需要变量old,current因为覆盖OLDPWD会使它失去其特殊意义。