學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

Linux命令SSH在本地執(zhí)行遠(yuǎn)程機(jī)器上的命令

時間: 志藝942 分享

  linux命令在系統(tǒng)中有兩種類型:內(nèi)置Shell命令和Linux命令。那么你知道Linux命令SSH在本地執(zhí)行遠(yuǎn)程機(jī)器上的命令么?接下來是小編為大家收集的Linux命令SSH在本地執(zhí)行遠(yuǎn)程機(jī)器上的命令,歡迎大家閱讀:

  Linux命令SSH在本地執(zhí)行遠(yuǎn)程機(jī)器上的命令

  在本地使用 ssh $RemoteNode 可以在執(zhí)行遠(yuǎn)程機(jī)器上的命令,例如 ssh user@node ls /local 會執(zhí)行遠(yuǎn)程機(jī)器上的 ls /local 命令,如果想在遠(yuǎn)程機(jī)器上連續(xù)執(zhí)行多條命令,可以用單引號或者雙引號將這些命令括起來,

  例如:ssh user@node "cd /local; pwd;ls"

  如果想在本地啟動遠(yuǎn)程機(jī)器上的命令后就返回來,可以這樣 ssh user@node " /local/x.sh 1>/dev/null 2>&1 & "

  注意如果沒有“”,例如 ssh user@node cd /local ; ls 則 ls 只會執(zhí)行 cd /local 命令,ls命令在本地執(zhí)行,加了雙引號或者單引號,則被括起來的命令被當(dāng)做ssh命令的一個參數(shù),所以會在遠(yuǎn)程連續(xù)執(zhí)行。

  單引號和雙引號在ssh命令中的區(qū)別:

  以一個例子來說明問題,

  假設(shè)本地機(jī)器上配置了JAVA環(huán)境變量,在本地執(zhí)行 echo $JAVA_HOME=/opt/jdk

  假若我想查看遠(yuǎn)程機(jī)器上的JAVA環(huán)境變量,則只能使用單引號了,ssh user@node ' echo $JAVA ', 則是' ' 中的$JAVA不會被shell解析,而是當(dāng)做一個字符串,此時參數(shù) echo $JAVA 傳遞給了 ssh;

  如果我們使用 ssh user@node ” echo $JAVA ",則 shell 首先會解析$JAVA,得到它的值,則該命令就變成了 ssh user@node ' echo /opt/jdk ' 了

  
看了“Linux命令SSH在本地執(zhí)行遠(yuǎn)程機(jī)器上的命令”還想看:

1.Linux中rsh怎么遠(yuǎn)程使用shell命令

2.Linux scp遠(yuǎn)程復(fù)制命令大全詳解

3.Linux的遠(yuǎn)程復(fù)制命令scp

4.Xshell遠(yuǎn)程連接Linux服務(wù)器

5.怎么建立SSH進(jìn)行遠(yuǎn)程控制

2961259