サーバーに呼ばれるSSH呼び出しスクリプトがあります/opt/scripts/script1.sh
。
sshpass -p 'password' ssh user@ip /opt/scripts/script1.sh
(Sshpassが安全ではないことを知っていますが、この場合は理由があります)
このスクリプトは多くのタスクを実行し、実行している他のスクリプトを呼び出しますbash /opt/scripts/script2.sh
。
このコンピュータに対話的にSSHを接続して実行すると/opt/scripts/script1.sh
呼び出され/opt/scripts/script2.sh
ます。しかし、私がそうするなら
sshpass -p 'password' ssh user@ip /opt/scripts/script1.sh
/opt/scripts/script2.sh
呼び出されません。エラーは発生しません(これを実行している間もset -x
)。何もありません。なぜ1つの方法では動作しますが、他の方法では動作しないのか分かりません。なぜこれが起こるのか説明できますか?