天天看點

shell指令解釋器

       雖然從事linux開發很多年,但作為一個linux自學的小白沒少走彎路,就拿linux shell來講,一直沒了解它的意思,隻知道它是一個“指令解釋器”...然後就沒有然後了...

      最近在制作根檔案系統,涉及到登入帳号和密碼的問題,在/etc/inittabl檔案裡發現控制台登入指令後面帶了一個-/bin/sh

console::respawn:-/bin/sh
           

後來查資料發現sh是一個指令解釋器,而且還有bash指令解釋器......它們都是指向ash解釋器,通過檢視busybox ash.c源碼,發現ash指令解釋器其實就是類似于windows下的cmd視窗,我們在控制台上輸入一些指令,如:ls 、whoami...這裡隻是純粹的輸入一些字元,而要通過這些字元找到其對應的運作程式,這個工作就是由指令解釋器ash來完成,是以這才是shell中的/bin/sh為什麼要取名為指令解釋器的原因!!!

//-------------------------------------------------------------------------------------------------

Shell解釋器的作用

在登陸 linux 系統之後,螢幕上就會出現一行提示符,在我的機器上,是這樣的:

 [[email protected] root]#

這行提示符就是由bash解釋器列印出來的,這說明,現在已經處于 bash 的控制之下了,也同時提示使用者,可以輸入指令。使用者輸入指令,并回車确認後,bash分析使用者的指令,如果使用者的指令格式正确,那麼bash就按照使用者的意思去做一些事情。

附,這位大神寫的很詳細:https://blog.csdn.net/kanghua/article/details/1844989?utm_source=blogxgwz1

繼續閱讀