[英]How to run multiple commands in one bash file?
我有以下脚本:
#!/bin/bash
PATH=...
echo 'Syncing database dumps'
rsync ssh user@XX.XXX.XXX.XX:/test/ /test
echo 'Creating symlink'
ln -s test /tmp/test
仅运行第一个命令和所有回声。 如果我注释掉第一个命令,则运行symlink命令:
#!/bin/bash
PATH=...
echo 'Syncing database dumps'
#rsync ssh user@XX.XXX.XXX.XX:/test/ /test
echo 'Creating symlink'
ln -s /test /tmp/test
其余的不运行。 有什么想法吗?
根据最近的注释编辑,将-v选项添加到symlink命令。 现在我可以看到所有命令都运行了。 但是它们不按照它们设置的顺序运行。在rsync命令完成之前,symlink命令将运行。 如何设置顺序,以便仅在rsync命令完成后运行symlink命令?
试试rsync的--blocking-io选项,即
rsync ssh --blocking-io user@XX.XXX.XXX.XX:/test/ /test
或者,如果你的协议是ssh,你可以使用scp
scp user@XX.XXX.XXX.XX:/test/ /test
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.