Shell输入输出重定向
概述
Unix命令默认从标准输入设备(sdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端(显示器)。
输出重定向
命令的输出不仅可以是显示器,还可以转移到文件,这被称之为输出重定向。
命令输出重定向(内容被覆盖)的语法为:command > file
这样,输出到显示器的内容就可以被重定向到文件,如
#!/bin/bash
echo “hello,Shell” > newFile.sh
cat newFile.sh
hello,Shell输出重定向(内容被追加到文件末尾),如
#!/bin/bash
echo “hello,Shell” >> newFile.sh
cat newFile.sh
hello,Shell
输入重定向
和输出重定向一样,Unix命令也可以从文件获取输入,语法为:
command < file
Here Document
Here Document是Shell中的一种特殊的重定向方式,形式如下
command << delimiter
document
delimiter它的作用是将两个delimiter之间的内容(document)作为输入传递给command。
注意:
1)结尾的delimiter一定要顶格写,前面不能有任何字符,后面也不能有任何字符,包括空格和tab缩进。
2)开始的delimiter前后的空格会被忽略wc -l << EOF
this is a simpe lookup program
for good restaurants in Cape Town.
EOF