組み込みシェルを明示的に呼び出すには?

組み込みシェルを明示的に呼び出すには?

cd必要に応じてコマンドの機能をカスタマイズしたいと思います。

私は次の関数を定義しました - function cd () { cd "$@" && pushd "$@"; }

この機能の目的は、ディレクトリをスタックに自動的にプッシュすることです。これにより、pushd .毎回手動で入力する必要がある手間が少なくなります。

ただし、上記の関数は、呼び出しが組み込み関数ではcdなく関数自体として解釈されるため、無限再帰関数です。cd

cdこの関数に組み込まれている関数をどのように参照できますか?

を使用してエイリアスをエスケープできることを知っています\。より明示的な方法で関数をエスケープしたり、組み込み関数を参照したりする方法は?

注:関数名を別の名前に変更したくありません。

ベストアンサー1

builtinBashには、必要な操作を正確に実行する(組み込み)コマンドがあります。関数内で置き換えると再帰が修正されcdます。builtin cd

おすすめ記事