比如用C語言重寫可執行文件ls,首先要把這個ls文件的C代碼編譯成計算機能理解的機器碼。shell只是調用編譯好的ls文件,根據需要在ls文件後面添加參數,而這些參數本身就是從ls文件本身派生出來的。
其中shell類似於C,通過壹個邏輯結構判斷來實現自己的功能化。
-
這部分講的是“不看天”。“shell大部分是命令列表,所以應該也需要編譯。機器知道-n文件是什麽嗎?”的回復。
所謂的殼是給內核的,不管是什麽樣的殼,怎麽出現的。機器的操作者在應用操作中不能接觸內核,只能通過shell的交互接口翻譯命令文件或機器碼,這不是編譯過程。