歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> SSH在本地執行遠程機器上的命令

SSH在本地執行遠程機器上的命令

日期:2017/3/1 15:53:01   编辑:關於Linux
SSH在本地執行遠程機器上的命令 在本地使用 ssh $RemoteNode <cmd> 可以在執行遠程機器上的命令,例如 ssh user@node ls /local 會執行遠程機器上的 ls /local 命令,如果想在遠程機器上連續執行多條命令,可以用單引號或者雙引號將這些命令括起來, 例如:ssh user@node "cd /local; pwd;ls" 如果想在本地啟動遠程機器上的命令後就返回來,可以這樣 ssh user@node " /local/x.sh 1>/dev/null 2>&1 & " 注意如果沒有“”,例如 ssh user@node cd /local ; ls 則 ls 只會執行 cd /local 命令,ls命令在本地執行,加了雙引號或者單引號,則被括起來的命令被當做ssh命令的一個參數,所以會在遠程連續執行。 單引號和雙引號在ssh命令中的區別: 以一個例子來說明問題, 假設本地機器上配置了JAVA環境變量,在本地執行 echo $JAVA_HOME=/opt/jdk 假若我想查看遠程機器上的JAVA環境變量,則只能使用單引號了,ssh user@node ' echo $JAVA ', 則是' ' 中的$JAVA不會被shell解析,而是當做一個字符串,此時參數 echo $JAVA 傳遞給了 ssh; 如果我們使用 ssh user@node ” echo $JAVA ",則 shell 首先會解析$JAVA,得到它的值,則該命令就變成了 ssh user@node ' echo /opt/jdk ' 了
Copyright © Linux教程網 All Rights Reserved