원격 표준 출력을 로컬 KORNSHELL 변수로 설정

원격 표준 출력을 로컬 KORNSHELL 변수로 설정

나는 대본을 쓰고 있어요. 아이디어는 로컬 파일과 원격 파일 간의 MD5 체크섬을 비교하는 것입니다.

로컬 파일 체크섬은 로컬 변수에 저장됩니다.

LOCALMD5=!chsum "$(basename "$file")"

원격 파일의 md5 체크섬을 얻으려면 이 스크립트를 권장합니다. 하다:

ssh user@remote-dns-name 
cd path/to/file
csum -h MD5 >MD5-hashsum-filename

SSH 환경에서 성공적으로 실행할 수 있다고 가정하면 csum해당 명령의 출력을 나중에 사용할 수 있는 로컬 변수로 다시 설정하려면 어떻게 해야 합니까?

답변1

csumSTDOUT 을 통해 캡처할 수 있어야 합니다 ssh.

csum해시 및 파일 이름을 포함한 전체 출력을 얻으려면 다음을 수행하십시오 .

bash-$ remoteMD5=$(ssh user@remote-dns-name "csum -h MD5 /full/path/to/file")
bash-$ echo $remoteMD5
723fc34e606a4d0002fe86f417be5f56 /full/path/to/file

아니면 그냥 해시를 반환할 수도 있습니다.

bash-$ remoteMD5=$(ssh user@remote-dns-name "csum -h MD5 /full/path/to/file" | awk '{print \$1}'")
bash-$ echo $remoteMD5
723fc34e606a4d0002fe86f417be5f56

관련 정보