it-swarm-tr.com

Fark içine boru olamaz?

Zeki olmak ve uzak bir dosyayı yerel bir dosya ile ilk önce manuel olarak indirmeden karşılaştırmak istedim. Uzak dosyanın içeriğini şu şekilde alabilirim:

ssh [email protected] "cat path/file.name"

Ancak bunu diff

ssh [email protected] "cat path/file.name" | diff path/file.name

bana bunu verir:

diff: missing operand after `path/file.nae'
diff: Try `diff --help' for more information.

Ssh anahtarları ayarladım, bu yüzden benden şifre istemiyor. Bunun çözümü nedir?

81
user394

Kullanmaya çalışmak - standart girişi temsil eder.

ssh [email protected] "cat path/file.name" | diff path/file.name -

99
Hemant

İşte bir geçici çözüm: diff <(ifade) argüman olarak kabul ediyor gibi görünüyor:

diff <(ssh \"cat path/file.name/") <(cat path/file.name)
68
user394

Fark içine boru tesisatı koşmaya eşdeğerdir

diff path/file.name

ve çalıştıktan sonra dosyanın tüm içeriğini yazın.

Gördüğünüz gibi beklediğiniz gibi değil.

4
Macha
diff /tmp/localtempfile <(ssh -A -o StrictHostKeyChecking=no [email protected] "cat /tmp/remotetempfile")
1
Vlad