本文介绍Linux中常用的输入/输出重定向
输出重定向
使用 > 可以将命令结果输出结果重定向到文件。需要注意的是,如果文件不存在,将会自动创建;如果文件已存在,则文件中此前存在的任何内容都会被覆盖掉
1 | # 将命令结果输出 重定向 到文件,覆盖写入 |
使用 >> 可以将命令结果输出结果重定向到文件。需要注意的是,如果文件不存在,将会自动创建;如果文件已存在,则会以追加的方式从文件末尾开始写入
1 | # 将命令结果输出 重定向 到文件,追加写入 |
输入重定向
使用 < 可以让命令从文件读取输入,而不是通过键盘输入的方式进行读取。
1 | # 命令从指定文件读取输入 |
下述结果表示wc命令从指定文件读取输入统计行数、单词数、字节数
对于输入重定向而言,还可以使用 << 进行内联输入重定向。通过这种方式,我们可以不用从文件中读取输入数据,而是通过键盘输入数据。语法如下所示,我们指定delimiter来划分输入数据的起止。其会将两个delimiter之间的内容作为输入传递给command
1 | command << delimiter |
也可以在Shell脚本中使用内联输入重定向。需要注意的是在和命令替换进行组合使用时,命令替换的语法最好单独一行,避免执行发生意外。示例脚本InlineInputRedirect.sh如下所示
1 |
|
参考文献
- Linux命令行与shell脚本编程大全·第4版 Richard Blum、Christine Bresnahan著