5 理解shell

5.2 shell的父子关系

用户登录某个虚拟控制器终端或者GUI中运行终端仿真器时所启动的默认交互shell是一个父shell。
在父shell提示符输入bash或其他等效的bash命令时,会创建一个新的shell程序,这个shell程序被称为子shell。

5 理解shell

bash 参数
-c string 从string中读取命令并进行处理
-i 启动一个能接收用户输入的交互shell
-l 以登录shell的形式启动
-r 启动一个受限shell
-s 从标准输入中读取命令

--这几个参数不知道怎么用

5.2.1 进程列表

主要区分一系列命令与进程列表的区别:
一系列命令: pwd; ls ; date ; uptime 等同于{pwd; ls; date;uptime}
进程列表: ( pwd; ls ; date ; uptime)

进程列表的作用是生成子shell执行相应的命令。

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

进程列表、协程和管道都利用了子shell。

协程:coproc
--不知道有什么用

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

外部命令:被称为文件系统命令,存在于bash shell之外的程序。
内建命令:和shell编译成了一体,作为shell工具的组成部分。

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

主要区别:外部命令会创建出一个包含全新环境的子进程,而内建命令则不会。至于成本,不像书上写的感觉这么明显。

猜你喜欢

转载自blog.51cto.com/13690643/2536669