これ回答cd -
Bashに変更する前に、ディレクトリの略語を教えてください。これには1つの重要な問題があります。変更されたディレクトリを印刷し、次の行のプロンプトでそのディレクトリが繰り返されるので、画面スペースを無駄にします。
私はそれができることを知っています。cd $OLDPWD
その答えに言及されていますが、cd - >/dev/null
より多くの入力が必要です。
bash
マニュアルページには次のように記載されています。
... または - が最初の引数でディレクトリ変更が成功すると、新しい作業ディレクトリの絶対パス名が標準出力に書き込まれます。
私が-
最初に議論する人にならないようにするにはどうすればよいですか?オプションのパラメータを使用してcd
?入力を最小限に抑えるためにエコーを抑制するか、他の方法を使用してください。いいえ使用するすべてのコンピュータで機能/エイリアスを定義する必要がありますか?
ベストアンサー1
cd
最初のパラメータのみが考慮され、他のすべてのパラメータは無視されます。これらのオプションのいずれも以前のパス名のエコーには影響しません(文書には-@
この効果があるかもしれませんが、私のシステムでは無効なオプションです)。
cd -
入力する文字数が少ない、またはリダイレクトできるエイリアス/関数を使用したくない場合は、次の特殊/dev/null
チルダ拡張を使用することをお勧めしますbash
。
cd ~-
bash
マニュアルページから:
チルダプレフィックスが「~-」の場合、シェル変数OLDPWD(設定されている場合)の値が置き換えられます。
bash
これは別の特別な意味を生み出した領域のようです。チルダ拡張は通常$ DIRSTACK、by pushd
、popd
および操作/研究と連携して動作し、そのディレクトリをインポートするために(ここでNはプッシュバックするレベル数)、使用した場合は他のコマンド()でもdirs
使用できます。他のコマンド)。cp ~-/somefile .
pushd
~N
cd
ただし、複数のコンピュータにアカウントがあり、sshを使用して1か所でログインしていると仮定すると、次のものを追加することを検討する必要があります~/.bashrc
。
if [ -f ~/.bash_common ]; then
. ~/.bash_common
fi
次に、各コンピュータにscp
「プッシュ」するために、作業用コンピュータにスクリプトをインストールします。bash_common
これにより、最小限のオーバーヘッドで複数のコンピュータに共通の機能を追加して共有できます。