shell脚本有时需要读取文件内容.下面介绍了从外部读取文件,引入循环语句处理该文件的几种常见方法
1.文本重定向
1 | 定义一个文件内容: |
shell脚本从该文件读取文件的每行内容,且创建相关账户
1 | [root@localhost ~]$cat users.sh |
执行脚本
1 | [root@localhost ~]$bash users.sh |
查看账户:
1 | [root@localhost ~]$tail -3 /etc/passwd |
note: shell默认的分隔符是空格,或者换行符.这是通过变量IFS控制的.如果想要自定义其他分隔符,只需要定义IFS变量即可.例如:IFS=’,’
2.通过管道符导入
还是刚才那个例子,文件内容和文件名不变.这次稍微改一下,将脚本的实现方式改成通过管道符导入,且将添加用户改成删除用户
1 | [root@localhost ~]$cat users.sh |
执行结果
1 | [root@localhost ~]$bash users.sh |
2.通过exec重定向导入
还是刚才那个例子,文件内容和文件名不变.这次稍微改一下,将用户重新添加回来
1 | [root@localhost ~]$vim users.sh |
执行结果
1 | [root@localhost ~]$bash users.sh |
0表示标准输入. exec 0 < 表示从文件里输入,而不是键盘输入