我有一个 SHELL 脚本,它使用管道来分隔我的两个命令:
ssh -oBatchMode=yes user@hostname "mysql -u yop -pyop -c yop | echo test"
Run Code Online (Sandbox Code Playgroud)
问题是即使我与 MySQL 的连接不起作用,它也会执行echo test. 如果前一个命令不起作用,我想禁止我的脚本执行任何命令。
我使用搜索解决方案,if但我想不出任何东西。
ssh -oBatchMode=yes user@hostname "mysql -u yop -pyop -c yop && echo test"
Run Code Online (Sandbox Code Playgroud)
&&当且仅当第一个命令成功时,操作员才会执行第二个命令。你可以把它读成“然后”。
顺便说一句,如果您只想按顺序执行命令,您可以使用分号;,如cmd1; cmd2. 一个管道|并行运行两个命令,第一个的 stdout 连接到第二个的 stdin。在这种情况下,根本不是你想要的。
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |