每一个shell Script执行时,系统默认会开启3个标准的文件,分别是,标准输入(stdin)、标准输出(stdout)、标准错误(stderr).
Script默认会由标准输入读取数据,通常指键盘;由标准输出显示执行结果,通常是指屏幕;若发生错误,则由标准错误显示信息,通常也是屏幕.
系统开启这3个标准文件时,是以文件代码做连接.标准输入的文件代码为0,标准输出的文件代码是1,标准错误的文件代码是2.我们称这3个文件为标准I/0(Input和Output)
①.>输出转向:
- echo 'Hello World!' > hi.txt
通过输出转向,将echo显示的内容保存到hi.txt文件内.
②.>>转向附加
- echo 'Hello World Again' >> hi.txt
通过转向附加,将echo显示的内容附加到hi.txt文件内.
cat hi.txt
- Hello World!
- Hello World! Again!
③.<转向输入
- wc -l < anaconda-ks.cfg
通过以上命令,可统计anaconda-ks.cfg文件行数.
④.|管道
将一个程序的输出,变成另一个程序的输入.
- cat anaconda-ks.cfg|sort > aa
- 查看anaconda-ks.cfg文件内容,通过管道传送到sort命令的输入进行排序,最后将结果转向输出到aa文件.
⑤.&后台执行程序
- ./my-work.sh &
执行bash Script的方法:
- ①.子Shell执行方法
- ./test.sh
- #在本目录中执行
- /usr/local/test.sh
- #绝对路径的方式执行Script
- sh test.sh
- bash test.sh
- 直接使用bash或sh来执行Script
- ②.在当前shell中执行
- . /usr/local/test.sh或者 source /usr/local/test.sh
Bash Script排错的方法
- Bash -v test.sh
- #检查语法是否错误
- Bash -n test.sh
- #Script 全部的程序行,以供查看
- Bash -x test.sh
- #追踪bash执行过程