2016-06-30 2 views

답변

2

이 있어야한다 :

VAR=$(ssh "$USERNAME"@"$HOST" -- remote_command -option) 

는 원격으로 remote_command을 실행하고 로컬 변수에 저장하고 싶습니다. 그것은 위의 명령이하는 것입니다. 원격으로 여러 명령을 실행하려면

당신은 다음은 여기에 문서로 구성 사용

VAR=$(ssh "$USERNAME"@"$HOST" <<EOF 
    remote_command -option 
    another_command 
    ... 
EOF 
) 

을, BTW 원격 명령에 로컬 변수를 보간하지 않으려면, 당신은 아마 지역의 쉘을 비활성화 할 시작 구분 기호로 <<'EOF'를 사용하여 여기에 문서에 확장합니다 (' 주)를 :

VAR=$(ssh "$USERNAME"@"$HOST" <<'EOF' 
    remote_command -option 
    another_command 
    ... 
EOF 
) 

를 원격 스크립트에서 쉘 변수, 명령 치환 등을 사용할 수 위의 양식에. 이처럼 :

VAR=$(ssh "$USERNAME"@"$HOST" <<'EOF' 
    COUNT=$(remote_command -option) 
    another_command "${COUNT}" 
    if $((COUNT+1)) ; then 
     foo -bar 
    fi 
    ... and so on. all expansions happen remotely 
EOF 
) 
+0

내가 원격 시스템 – chozhan

+0

ssh를 $ 사용자 이름 @의 $의 SUT << EOD COUNT에서 실행해야하는 큰 논리를 쓸 계획입니다 첫번째와 마지막 줄 사이로이 형식을 사용하고 싶었 = $ (ls -la | wc -l) if [$ COUNT -eq 4]; then remote_command2 fi EOD 이와 비슷한 작업을 계획합니다. 가능하다면 궁금하다. – chozhan

+0

그 경우'<< 'EOF'와 함께 후자의 버전을 사용한다 – hek2mgl