Bash
shell 內置函式和 shell 鍵盤快捷鍵有什麼區別?
cd
shell 內置函式(如orecho
)和 shell 鍵盤快捷鍵(如ctrl+u
or )有什麼區別ctrl+l
?在我看來,兩者都是“內置”,系統架構的主要區別是什麼?
我個人使用 Bash,但我相信這個問題與許多其他
sh
shell 有關。
大多數內置函式會更改 shell 的狀態/行為(“永久”)。
echo
並且printf
是例外。
^U
並且^L
是鍵綁定。他們只處理輸入行編輯。如果沒有這些功能,您也可以這樣做。他們只是節省時間。執行命令後,之前是否使用了鍵綁定功能沒有區別。可能最明顯的區別是鍵綁定不是您可以從命令行執行的命令。您需要一個內置 (
bind
) 來配置它們(shell“狀態更改”)。