[TOC]
shell的類型
- 系統一般會默認安裝多種shell程序:
- /bin/sh
- /bin/bash 大部分發行版本默認是bash
- /bin/csh
- ...
- /etc/passwd文件定義了用戶登錄時默認使用的shell程序。
- 對于shell script來講,存在兩種shell:
- 用戶交互shell
- 默認的系統shell
- shell script使用兩種shell不同,可能存在語法兼容的問題。
shell的父子關系
- shell可以通過多種方式生成子shell:
- 在shell環境中運行另一個shell程序(bash, sh, dash等)
- 使用進程列表(用小括號包含的命令)
(ls -l)
- 管道
- 子shell會從父shell繼承部分環境變量
- 可以用分號隔開順序執行的一系列命令
pw; ls; ps -ef
- 有幾種方式可以將命令至于后臺運行:
- 在命令末尾加上
&
符 - 使用
coproc
命令
- 在命令末尾加上
shell的內建命令
- 內部命令:shell程序自帶的命令
- 外部命令:shell程序之外的命令
- 執行內部命令不會創建新進程,但執行外部命令會創建新進程