definindo um stdout remoto para a variável KORNSHELL local

1

Estou escrevendo um script que os outros aqui no Unix & O Linux tem me ajudado gentilmente. A ideia é comparar somas de verificação MD5 entre um arquivo local e um remoto.

A soma de verificação do arquivo local é salva em uma variável local:

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

Eu apenas recomendei este script para obter a soma de verificação md5 no arquivo remoto. faça:

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

Assumindo que eu possa executar com sucesso csum em um ambiente ssh, como eu defino a saída desse comando de volta para uma variável local que eu possa usar no futuro?

    
por arcee123 11.10.2018 / 15:07

1 resposta

1

Você deve conseguir capturar apenas o STDOUT de csum a ssh .

Para obter a saída completa de csum , com o hash e o nome do arquivo:

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

Ou você pode retornar apenas o hash:

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