[英]Bash for loop syntax error with pipe
我正在尝试此命令
for x in qstat -u '*' | grep Eqw | awk {'print $1'}; do qmod -cj $x; done
并最终出现此错误:
-bash: syntax error near unexpected token `|'
我尝试将我的qstat命令包装在各种引号和括号中都无济于事,我在做什么错?
由于您似乎想遍历结果,因此将其更改为:
for x in `qstat -u '*' | grep Eqw | awk {'print $1'}`; do qmod -cj $x; done
一个优化的版本将是:
for x in $(qstat -u '*' | awk '/Eqw/{print $1}'); do qmod -cj "$x"; done
awk
可以grep hitself 请改用以下代码:
for x in $(qstat -u * | awk '/Eqw/ {print $1}')
do
qmod -cj $x
done
它应该是:
for x in $(qstat -u '*' | grep Eqw | awk '{print $1}'); do qmod -cj $x; done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.