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: [email protected]
# 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: [email protected]
# 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: [email protected]
# 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