[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程序之外的命令
- 执行内部命令不会创建新进程,但执行外部命令会创建新进程