我正在尝试使用脚本来解析某些日志文件,并且由于它们都可以独立解析,因此我试图在后台运行它们。我正在使用以下命令,但之后出现语法错误:
for k in {2..3}; do for i in {1..3}; do for j in {1..3}; do ./run_parser.sh ${k} ${i} ${j} > parse_${k}${i}${j}.log 2>&1 &; done; done; done
-bash: syntax error near unexpected token `;'
尽管如果我run_parser.sh
不循环地逐个运行脚本,则脚本运行良好。就像是:
./run_parser.sh 2 1 2 > parse_212.log 2>&1 &
工作完美。
另外,我以前尝试过:
for k in {2..3}; do for i in {1..3}; do for j in {1..3}; do ./run_parser.sh ${k} ${i} ${j} & > parse_${k}${i}${j}.log ; done; done; done
它也可以工作,但是输出重定向不起作用,并且所有内容都被打印到屏幕上。
您应该()
像这样放置background命令:
for k in {2..3}; do for i in {1..3}; do for j in {1..3}; do (./run_parser.sh ${k} ${i} ${j} > parse_${k}${i}${j}.log 2>&1 &); done; done; done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句