Linux shell 命令学习:循环读取文件内容
因为测试需要,要写一个shell脚本,功能为: 从 一个文件(token 列表)中,读取所有的token,然后组合成Linux命令,依次在后端执行。
需要组合的命令如下:
nohup ./sb_rtmp_publish -i ../doc/pfmdata/2minTransformers2000_trailer.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line} >pfm_logs/logpfm 2>&1 &
说明:
PFM_test_HD_test${i}中i的值,是根据当前取到的token在token列表文件顺序
${line} 是取到的token值
nohup 这个命令是让 进程在Linux后端运行
sb_rtmp_publish 是一个推流的工具
token列表文件名为data和我们要写shell脚本在同一目录下。
经过测试和验证,这个shell脚本编写如下:
#!/bin/sh
i=0
cat data|while read line
do
let i=${i}+1
#echo ${line}${i}
nohup ./sb_rtmp_publish -i ../doc/pfmdata/2minTransformers2000_trailer.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line} >pfm_logs/logpfm 2>&1 &
#sleep 10s
done
token列表文件data如下:
1504348509-befc1fed9197ed06742a1c3ed3d0f9c1
1504348510-c16381f80e0fbe2cb135a9b7c3ffaad4
1504348510-f3736f5da46b04af21db4cc9f399d3a7
1504348510-74c74f9a444763c2c80ca7b1302be042
1504348510-62b1acaa248816904feba82799b59159
1504348510-6cf4ec91ea5dd4410630f338386d6837