理解Linux bash 和shell

今天在看到linux環境變量的這部分時,突然明白了linux的bash 和shell的含義。還是來看命令:

  1. 啟動一個終端(shell),然后鍵入ps -fH得:
    ps -fH

    然后在此終端輸入bash后的結果:
    bash
    由此可見,系統默認的shell是bash shell,然后在當前shell下開啟另一個bash,即是相當于開啟了另一個子bash shell進程:輸入exit可看出:
    exit
  • 也就是說,linux系統在啟動后(執行了init后進入桌面),此時按下CTRL+ALT+T開啟的終端,實際上是由系統的一個進程開啟了一個bash shell,在開啟的shell 下再次鍵入bash后是開啟了一個新的子shell進程,可以exit退回父進程。
  • 另外,關于環境變量:
    • 全局變量需要用export使之變成全局變量,用unset命令取消此全局變量;
  • 在父進程里定義的全局變量在子進程里用unset消滅后,可以在父進程里使用,也就是在父進程里仍然存在。具體看例子:
    全局變量的例子

    注意:聲明變量時的語法:“name=value”(中間不能有空格!)
    然后在子進程里取消這個全局變量:
    子進程里的變量被取消,但父進程里還在

理解環境變量,理解bash shell.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容