什么是Shell
- Shell是命令解释器,用于解释用户对操作系统的操作
- Shell有很多种
- cat/etc//shells
- CentOS7 默认使用的Shell是bash
Shell脚本的格式
- UNIX的哲学:一条命令只做一件事
- 为了组合命令和多次执行,使用脚本文件来保存需要执行的命令
- 赋予该文件执行权限(chmod u+rx filename)
- 标准的Shell脚本要包含哪些元素
- Sha-Basing
- 命令
- chmod u+rx filename 可执行权限
- 执行命令
- bash ./filename.sh.
- ./filename.sh
- source ./filename.sh
- . filename.sh
- 内建命令不需要创建子进程
- 内建命令对当前Shell生效
管道
- 管道和信号一样,也是进程通信的方式之一
- 匿名管道是Shell编程经常用到的通信工具
- 管道符“|”,将前一个命令执行的结果传递给后面的命令
- ps|cat
- echo 123|ps
重定向
- 一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符
- 输入重定向符号“<"
- read var </path/to/a/file
- 输出重定向符号”>" “>>” “2>” “&>”
- echo 123>/path/to/a/file
- 输入和输出重定向组合使用
- cat> /path/to/a/file<<EOF
- I am $USER
- EOF