cd
シェル組み込み ( またはなどecho
) とシェルのキーボードショートカット ( またはctrl+u
など)の違いは何ですかctrl+l
?
どちらも「組み込み」のように思えますが、システム アーキテクチャによる主な違いは何でしょうか。
私は個人的に Bash を使用していますが、この質問は他の多くのシェルにも関係があると思いますsh
。
答え1
ほとんどの組み込み関数は、シェルのステータス/動作を(「永続的に」)変更します。例外echo
もprintf
あります。
^U
およびは^L
キー バインディングです。これらは入力行の編集を処理するだけです。これらの関数がなくても、同じことができます。これらは時間を節約するだけです。コマンドを実行した後、キー バインディング関数が以前に使用されたかどうかは関係ありません。
おそらく最も明らかな違いは、キー バインディングはコマンド ラインから実行できるコマンドではないということです。キー バインディングをbind
設定するには組み込み ( ) が必要です (シェルの「状態変更」)。