cd
必要に応じてコマンドの機能をカスタマイズしたい。
私は次の関数を定義しました-
function cd () { cd "$@" && pushd "$@"; }
この関数の目的は、ディレクトリをスタックに自動的にプッシュすることです。これにより、pushd .
毎回手動で入力する手間が省けます。
ただし、上記の関数は、呼び出しcd
がcd
組み込み関数ではなく関数自体であると解釈されるため、無限再帰関数です。
cd
この関数の組み込みを参照するにはどうすればよいですか?
エイリアスはを使用してエスケープできることを知っています\
。より明示的な方法で関数をエスケープしたり、組み込み関数を参照する方法は何ですか?
注:関数の名前を他の名前に変更したくありません。
pushd
はをサポートしていません-P
。しかし、あなたは正しいです、質問に示されているように、function cd
ディレクトリを2回変更したため、少し間違っているように見えます。
alias cd=pushd
?絶対パスではないもの(例:)にcdしたときに何が起こると思いますcd ../
か?