次のシナリオがあります。別のリモートコンピュータでbashスクリプトが実行されています。
SSHコマンドは次のとおりです。
ssh [email protected] 'bash -s' < test.sh
テストファイル
#/bin/sh
bash ./trigger.sh
Trigger.sh(リモートサーバー)
docker build -t nginx .
スクリプトを実行する前にディレクトリを変更する必要がありますtrigger.sh
。たとえば、次のようになります。
ssh [email protected] 'cd /pipeline' 'bash -s' < test.sh
cdを試しましたが、bash行0:cd:引数が多すぎますというエラーが発生しました。
これを達成する方法、または上記の状況の他の方法があるかどうかを助けてくれてありがとう。
答え1
cd
SSHコマンドに次のコマンドを追加できます。
ssh [email protected] 'cd /pipeline && bash -s' < test.sh
または、呼び出すスクリプトに追加できます。したがって、次のいずれかを実行してくださいtest.sh
。
#/bin/sh
cd /pipeline
bash ~/trigger.sh
またはtrigger.sh
:
cd /pipeline
docker build -t nginx .