0
bash 스크립트에서 원격 명령의 출력을 캡처하는 방법. 변수에서 원격 ssh 명령의 출력 수집
ssh [email protected]$SUT<<EOD
COUNT=$(ls -la | wc -l)
EOD
예를
를 들어 계획이 내가 저장하고 원격 명령의 출력을 사용할 필요가 여러 이러한 경우와 큰 스크립트.bash 스크립트에서 원격 명령의 출력을 캡처하는 방법. 변수에서 원격 ssh 명령의 출력 수집
ssh [email protected]$SUT<<EOD
COUNT=$(ls -la | wc -l)
EOD
예를
를 들어 계획이 내가 저장하고 원격 명령의 출력을 사용할 필요가 여러 이러한 경우와 큰 스크립트.이 있어야한다 :
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
)
내가 원격 시스템 – chozhan
ssh를 $ 사용자 이름 @의 $의 SUT << EOD COUNT에서 실행해야하는 큰 논리를 쓸 계획입니다 첫번째와 마지막 줄 사이로이 형식을 사용하고 싶었 = $ (ls -la | wc -l) if [$ COUNT -eq 4]; then remote_command2 fi EOD 이와 비슷한 작업을 계획합니다. 가능하다면 궁금하다. – chozhan
그 경우'<< 'EOF'와 함께 후자의 버전을 사용한다 – hek2mgl