bashスクリプトでリモートスクリプトを実行することはできませんが、ターミナルで実行できます

bashスクリプトでリモートスクリプトを実行することはできませんが、ターミナルで実行できます

ssh -p 60022 centos@localhost 'bash -s '< ./update.sh

端末から次のコマンドを実行すると、すべてがうまく機能し、update.shリモートシステムで実行されます。

deploy.shたとえば、同じコマンドをbashスクリプトに入れると

. ./deploy.sh

同じディレクトリでエラーのあるスクリプトを実行できません。

: No such file or directory

私はこれが作業ディレクトリやそれに似ていると仮定していますが、修正が見つかりません。

答え1

問題は行末です。 Windows行末を使用してリモートでファイルを実行すると、何も機能しません。

行末をUNIXに変更すると問題が解決しました。

関連情報