美文网首页
【shell】脚本读取输入重定向(<)文件

【shell】脚本读取输入重定向(<)文件

作者: 马蹄哒 | 来源:发表于2020-03-23 16:55 被阅读0次

shell脚本使用<来重定向输入,如,< filename.txt 将文件重定向到标准输入,如何在脚本中读取文件内容呢?

1. 使用read逐行读取

准备

同一目录下分别创建 test.sh text.txt两个文件

touch test.sh
touch text.txt

文件内容:

  • text.txt
hello world
1
2
3
4 5 6
  • test.sh
#!/bin/bash

while read line; do
  echo $line
done

添加执行权限:

chmod a+x test.sh

使用

./test.sh < text.txt

输出:

hello world
1
2
3
4 5 6

2. 使用for in

修改test.sh文件,需修改IFS变量以实现逐行读取

#!/bin/bash

TEMPIFS=$IFS
IFS=$(echo -en "\n") #等效于$(echo -e -n "\n") 
for lin in `cat <&0`; do # `cat <&0` 读取标签输入
  echo $lin
done
IFS=TEMPIFS

使用

./test.sh < text.txt

输出:

hello world
1
2
3
4 5 6

如果没有修改IFS变量,将按空格(或tab,或\n)分隔读取,不是按行:

#!/bin/bash

for lin in `cat <&0`; do
  echo $lin
done

输出:

hello
world
1
2
3
4
5
6

相关文章

  • 【shell】脚本读取输入重定向(<)文件

    shell脚本使用<来重定向输入,如,< filename.txt 将文件重定向到标准输入,如何在脚本中读取文件内...

  • Shell (四)

    shell 中的特殊字符 执行的例子: 代码块和重定向读取文件 使用管道管理脚本输入 编辑脚本 运行结果:

  • Shell语言学习(四)

    内容一:Shell脚本语言-管道 内容二:Shell脚本语言-重定向 重定向目的:就是操作文件输入和输出1、学习-...

  • Shell 重定向(二):从文件输入

    我们通过一些实例,来进一步了解使用输入重定向从文件读取内容的一些方法。 在 Shell 脚本中我们针对某一个代码块...

  • Shell 之Here Document

    导读Here Document 是Shell中的一种特殊的重定向方式,用来将输入重定向到一个交互式 Shell脚本...

  • 23. 编写第一个 Shell 脚本

    [TOC] 什么是 Shell 脚本 一个 shell 脚本就是一个包含一系列命令的文件。shell 读取这个文件...

  • linux常见符号

    重定向符号 在shell脚本中有两种常见的重定向符号 > 和 >> > 符号 作用: 演示: 查看文件内容 使用...

  • 第4次课-Shell脚本语言-第4讲

    内容一:Shell脚本语言-管道? 内容二:Shell脚本语言-重定向?

  • 如何写shell脚本?尝试自己编写一个简单脚本

    1. 创建Shell脚本文件 2. 显示消息 3. 使用变量 4. 反引号 5. 重定向输入输出 6. 管道 7....

  • 005.shell基础

    shell脚本基础 shell脚本可以输入多个命令并处理每个命令的结果。 创建shell脚本时,需要在文件的第一行...

网友评论

      本文标题:【shell】脚本读取输入重定向(<)文件

      本文链接:https://www.haomeiwen.com/subject/fzvwyhtx.html