it-swarm-id.com

Tidak dapat menyalurkan ke diff?

Saya ingin menjadi pintar dan membandingkan file jarak jauh dengan file lokal tanpa terlebih dahulu mengunduhnya secara manual. Saya bisa mendapatkan isi dari file jarak jauh dengan

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

Namun, mengirimnya ke diff

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

berikan saya ini:

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

Saya memiliki kunci ssh yang diatur, jadi itu tidak meminta saya untuk kata sandi. Apa solusinya untuk ini?

81
user394

Coba gunakan - untuk mewakili input standar.

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

99
Hemant

Berikut ini satu solusinya: diff tampaknya menerima <(expr) sebagai arguemnts:

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

Perpipaan ke dalam diff sama dengan menjalankan

diff path/file.name

dan kemudian, setelah itu berjalan, ketikkan seluruh isi file.

Seperti yang Anda lihat, bukan itu yang Anda harapkan.

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