說明:可以做SSH免密登錄之后執(zhí)行,這樣可以省去每次執(zhí)行輸入密碼的提示。
對于簡單的命令:
如果是簡單執(zhí)行幾個命令,則:
ssh user@remoteNode "cd /home ; ls"
基本能完成常用的對于遠(yuǎn)程節(jié)點(diǎn)的管理了,幾個注意的點(diǎn):
- 雙引號,必須有。如果不加雙引號,第二個ls命令在本地執(zhí)行
- 分號,兩個命令之間用分號隔開
- 多行命令可以輸入雙引號后回車,結(jié)尾使用雙引號包裹
對于腳本的方式:
有些遠(yuǎn)程執(zhí)行的命令內(nèi)容較多,單一命令無法完成,考慮腳本方式實(shí)現(xiàn):
#!/bin/bash
ssh user@remoteNode > /dev/null 2>&1 << eeooff
cd /home
touch abcdefg.txt
exit
eeooff
echo done!
遠(yuǎn)程執(zhí)行的內(nèi)容在”<< eeooff“至”eeooff“之間,在遠(yuǎn)程機(jī)器上的操作就位于其中,注意的點(diǎn):
<< eeooff,ssh后直到遇到eeooff這樣的內(nèi)容結(jié)束,eeooff可以隨便修改成其他形式。
重定向目的在于不顯示遠(yuǎn)程的輸出了
在結(jié)束前,加exit退出遠(yuǎn)程節(jié)點(diǎn)
執(zhí)行本地的腳本
我們在本地創(chuàng)建一個腳本文件test.sh,內(nèi)容為:
然后運(yùn)行下面的命令:
ssh root@xxx.xxx.xxx.xxx < test.sh
帶參數(shù)本地腳本
ssh root@xxx.xxx.xxx.xxx 'bash -s' < test.sh helloworld
執(zhí)行遠(yuǎn)程服務(wù)器上的腳本
ssh root@xxx.xxx.xxx.xxx "/home/nick/test.sh"
執(zhí)行遠(yuǎn)程服務(wù)器上帶參數(shù)的腳本
ssh root@xxx.xxx.xxx.xxx /home/nick/test.sh helloworld
總結(jié)
以上所述是小編給大家介紹的Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!