다음 시나리오가 있습니다. 다른 원격 컴퓨터에서 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 .