次のスクリプトがあります。
#!/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
残りは実行されません。理由はありますか?
最近のコメントに基づいて編集し、symlink コマンドに -v オプションを追加しました。これで、すべてのコマンドが実行されることがわかります。ただし、設定された順序で実行されるわけではありません。symlink コマンドは、rsync コマンドが完了する前に実行されます。rsync コマンドが終了した後にのみ symlink コマンドが実行されるように、順序を設定するにはどうすればよいですか?