シェルでコマンドを実行し、コンソールでコマンドのデフォルト表示をオフにします。

シェルでコマンドを実行し、コンソールでコマンドのデフォルト表示をオフにします。

これは私のスクリプトです。

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

おすすめ記事