포함된 파일을 사용하여 파일을 원격으로 실행하는 방법이 있습니까?

포함된 파일을 사용하여 파일을 원격으로 실행하는 방법이 있습니까?

원격으로 파일을 실행하기 위해 ssh 명령을 실행하려고 합니다.

ssh root@abc 'bash -s ' < filename.sh

filename.sh그런데 다른 파일을 참조하는 ./명령어가 있어서 동작하지 않습니다 .source

예:

filename.sh:

#!/bin/bash

echo 'hello'

. parameter.sh

echo 'Hello'

이 파일을 원격으로 실행하려면 어떻게 해야 합니까 filename.sh? 환승할 필요가 없나요 parameter.sh?

답변1

일반적으로는 할 수 없지만 이 경우에는 다음과 같이 할 수 있습니다.

{
  cat parameter.sh
  grep -xvF '. parameter.sh' filename.sh
} | ssh host bash -s

즉, 두 파일의 내용을 입력으로 원격 장치에 전달 bash하고 .더 이상 필요하지 않은 명령을 제거합니다.

관련 정보