Shell按行读取文件的方法有很多,常见的三种方法如下:
要读取的文件:
[root@mini05 20180930-2]# cat file.info 111 222 333 444 555 666
写法一:
[root@mini05 20180930-2]# cat read1.sh #!/bin/bash ################ Version Info ################## # Create Date: 2018-09-29 # Author: zhang # Mail: zhang@xxx.com # Version: 1.0 # Attention: 按行读取文件 ################################################ # 加载环境变量 . /etc/profile . ~/.bash_profile . /etc/bashrc # 脚本所在目录及脚本名称 script_dir=$( cd "$( dirname "$0" )" && pwd ) script_name=$(basename ${0}) exec < ${script_dir}/file.info while read line; do echo "${line}" done
写法二:
[root@mini05 20180930-2]# cat read2.sh #!/bin/bash ################ Version Info ################## # Create Date: 2018-09-29 # Author: zhang # Mail: zhang@xxx.com # Version: 1.0 # Attention: 按行读取文件 ################################################ # 加载环境变量 . /etc/profile . ~/.bash_profile . /etc/bashrc # 脚本所在目录及脚本名称 script_dir=$( cd "$( dirname "$0" )" && pwd ) script_name=$(basename ${0}) cat ${script_dir}/file.info | while read line;do echo "${line}" done
写法三:
[root@mini05 20180930-2]# cat read3.sh #!/bin/bash ################ Version Info ################## # Create Date: 2018-09-29 # Author: zhang # Mail: zhang@xxx.com # Version: 1.0 # Attention: 按行读取文件 ################################################ # 加载环境变量 . /etc/profile . ~/.bash_profile . /etc/bashrc # 脚本所在目录及脚本名称 script_dir=$( cd "$( dirname "$0" )" && pwd ) script_name=$(basename ${0}) while read line; do echo "${line}" done < ${script_dir}/file.info