5 理解shell

5.2 shell的父子關係shell

用戶登陸某個虛擬控制器終端或者GUI中運行終端仿真器時所啓動的默認交互shell是一個父shell。
在父shell提示符輸入bash或其餘等效的bash命令時,會建立一個新的shell程序,這個shell程序被稱爲子shell。bash

5 理解shell

bash 參數
-c string 從string中讀取命令並進行處理
-i 啓動一個能接收用戶輸入的交互shell
-l 以登陸shell的形式啓動
-r 啓動一個受限shell
-s 從標準輸入中讀取命令ide

--這幾個參數不知道怎麼用工具

5.2.1 進程列表ui

主要區分一系列命令與進程列表的區別:
一系列命令: pwd; ls ; date ; uptime 等同於{pwd; ls; date;uptime}
進程列表: ( pwd; ls ; date ; uptime)協程

進程列表的做用是生成子shell執行相應的命令。blog

pwd ; ls ; echo ${BASH_SUBSHELL} --0
(pwd; ls; echo ${BASH_SUBSHELL} --1進程

進程列表、協程和管道都利用了子shell。string

協程:coproc
--不知道有什麼用hash

5.3 理解內建命令和外部命令

外部命令:被稱爲文件系統命令,存在於bash shell以外的程序。
內建命令:和shell編譯成了一體,做爲shell工具的組成部分。

type ps
ps is hashed (/bin/ps)
type cd
cd is a shell builtin

主要區別:外部命令會建立出一個包含全新環境的子進程,而內建命令則不會。至於成本,不像書上寫的感受這麼明顯。

相關文章
相關標籤/搜索