如何在bash中为循环在一行中运行两个命令?
为什么我不能在一行bash循环中运行两个命令如何在bash中为循环在一行中运行两个命令?,bash,shell,Bash,Shell,为什么我不能在一行bash循环中运行两个命令 $ for i in {1..100} do printf %s "$(date)" ; mysql -uroot -e "SHOW SLAVE STATUS\G" | grep "Seconds_Behind_Master" ; sleep 10 ; done -bash: syntax error near unexpected token `mysql' 但这个简单的版本是有效的: for i in {1..3}; do echo $i ;
$ for i in {1..100} do printf %s "$(date)" ; mysql -uroot -e "SHOW SLAVE STATUS\G" | grep "Seconds_Behind_Master" ; sleep 10 ; done
-bash: syntax error near unexpected token `mysql'
但这个简单的版本是有效的:
for i in {1..3}; do echo $i ; ls ; done
你需要一个
代码>在大括号展开后。在这个简单的例子中有,但在“破碎”的例子中没有:
换行是免费的。帮助下一个需要维护你的代码的人,并在混合中加入一些。对,@glennjackman,但是当你在命令行中运行一个一次性监控脚本时,你每次都创建一个文件吗?
for i in {1..100}; do printf %s "$(date)" ; mysql -uroot -e "SHOW SLAVE STATUS\G" | grep "Seconds_Behind_Master" ; sleep 10 ; done
^ this one