これは私のスクリプトです。
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 -)
サブシェルで実行されるため、現在のシェルには影響しません。
次のようにすることもできます。
cd - >/dev/null
答え2
説明したようにこれ答えは、以前の作業ディレクトリにCDを移動したときにチルダ拡張を使用したときにディレクトリを表示しない短いバリエーションです~-
。
cd ~-