pushdとpopdコマンドの使い方 (2022/03/05)

概要

pushdとpopdはシェル組み込みのコマンドで、めっちゃかんたんに言うとこれはcdの強化版です。
流石にこれだけじゃわからないと思うので、詳しく説明すると、pushdでディレクトリに入って、popdで出れます。以上です。

使い方

よくわからないかもしれませんが、見たほうが早いと思います。

pushd

pushd /path/to/directory

popd

popd

cd
echo $(pwd) #結果 /home/okaits
pushd Work
echo $(pwd) #結果 /home/okaits/Work
popd
echo $(pwd) #結果 /home/okaits
コメントにすべてがありますが、要はこういうことです。

cd
echo $(pwd) #結果 /home/okaits
cd Work #pushd Workと同義
echo $(pwd) #結果 /home/okaits/Work
cd $OLDPWD #popdと同義
echo $(pwd) #結果 /home/okaits

!!! note

1
`$OLDPWD`は最後のcdの前のpwdを表しています。`

ですが、これには問題があります。それは、下の場合に対処できません。

cd
echo $(pwd) #結果 /home/okaits
cd Work #pushd Workと同義
echo $(pwd) #結果 /home/okaits/Work
mkdir hogehoge
cd hogehoge #pushd hogehogeと同義?
echo $(pwd) #結果 /home/okaits/Work/hogehoge
cd $OLDPWD #popdと同義
echo $(pwd) #結果 /home/okaits/Work
cd $OLDPWD #popdと同義?
echo $(pwd) #結果 /home/okaits/Work/hogehoge
このように、3層以上あると誤作動を起こしてしまいます。なのでpushd/popdを使ったほうが良いということです。