원격으로 파일을 실행하기 위해 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
하고 .
더 이상 필요하지 않은 명령을 제거합니다.