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