คำสั่ง SSH แบบอินไลน์


15

เป็นไปได้ไหมที่จะทำคำสั่ง style inline แบบง่ายตัวอย่างเช่น:

ssh foo@bar.com { cd foo/bar && rm *.foobar }

คำตอบ:


27

หากคุณต้องการรันcd foo/bar && rm *.foobarบนเครื่องระยะไกลให้ทำ

ssh foo@bar.com  'cd foo/bar && rm *.foobar'

และดูman ssh...

ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D
[bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L   [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R
[bind_address:]port:host:hostport] [-S ctl_path] [-w tunnel:tunnel
[user@]hostname [command]

ชิ้นส่วนที่คุณต้องการ:

ssh [user@]hostname [command]

2
น่าสังเกตว่าคุณสามารถไปป์ STDIN และ STDOUT โดยใช้วิธีนี้ได้เช่นกัน - เมื่อวันก่อนฉันสร้างภาพ HD ของเครื่องรีโมตโดยใช้ DD ผ่าน ssh
crazy2be

9

สไตล์ 1: ssh user@host 'embedded command'

สไตล์ 2: ssh user@host " $(cat cmd.txt) "
cmd.txt เป็นไฟล์ที่มีคำสั่งระยะไกลของคุณซึ่งจะค้นหาที่เครื่องท้องถิ่นของคุณ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.