繁体   English   中英

如何在一个bash文件中运行多个命令?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM