SSH 在本地执行远程机器上的命令

原创 2011年03月30日 19:00:00

在本地使用 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 ' 了

 

ssh连接远程主机执行脚本的环境变量问题

11 Nov 2014 • 6 min. read • 18 Comments 近日在使用ssh命令ssh user@remote ~/myscript.sh登陆到远程机器remote上执行脚本...
  • whitehack
  • whitehack
  • 2016-06-18 15:04:05
  • 7213

ssh@host:""ssh切换到其他机器上执行多条命令;Pseudo-terminal will not be allocated because stdin is not a terminal.

1.背景:shell脚本在主机器上执行kafka的启动命令,其他机器也会起这个进程。之前的脚本每次执行的时候出现卡住的现象,不能回到命令行。解决方法:第一种#/bin/bash KAFKA_HOME=...
  • wyl9527
  • wyl9527
  • 2017-05-26 15:27:36
  • 2625

ssh 远程执行多个命令,有通配符要使用双引号,没有则可以不用

#!/bin/sh  for i in {2..25}  do         ip=10.161.21.$i         echo $ip         t=`ssh unicomlab...
  • mmbbz
  • mmbbz
  • 2017-02-08 15:39:59
  • 1062

ssh2扩展执行远程登录命令以及执行多个命令

ssh2的使用方式: $connect=ssh2_connect("192.168.1.2",22); ssh2_auth_password($connect,user,pass); $stream=...
  • will5451
  • will5451
  • 2017-09-03 23:19:04
  • 548

ssh远程执行命令并自动退出

ssh可以登陆远程服务器,格式如下:
  • fdipzone
  • fdipzone
  • 2014-04-05 23:01:49
  • 121500

java 间断执行多条命令ssh连接,有缺陷

废话不说直接上代码: package com.guoru; import java.io.BufferedReader; import java.io.IOException; imp...
  • supuncleus
  • supuncleus
  • 2016-10-23 16:00:55
  • 2687

Linux 连续执行多条命令

每条命令使用";"隔开,则无论前边的命令执行成功与否都会继续执行下一条命令 这里,故意将第二条命令中的echo多写了一个o,命令执行出错,但并不影响后续命令的执行 可以这么想,如果用分号来间隔命令,就...
  • zyz511919766
  • zyz511919766
  • 2014-07-11 13:53:03
  • 6088

linux 通过shell脚本在本地执行远程机器命令

在本机上想通过shell脚本执行远程机器上的命令,其实很简单,只要在ssh 的后面加上 #!/bin/bash ssh root@192.168.1.102 ####从这里开始都是在远...
  • sn3009
  • sn3009
  • 2016-10-10 17:23:05
  • 5562

在远程服务器上执行本地的shell脚本

1 使用ssh实现ssh user@hostname -C “/bin/bash” < test.sh2 使用expect实现采用的策略就是先在本地通过expect把shell脚本推送到远程服务器上,...
  • wenwenxiong
  • wenwenxiong
  • 2016-06-17 19:19:05
  • 6812

SSH 远程执行命令实例

代码如下ssh -p $port $user@$ip 'cmd' port : ssh连接端口号 user: ssh连接用户名 ip:ssh连接的ip地址 cmd:远程服务器需...
  • guyan1101
  • guyan1101
  • 2017-05-26 14:06:21
  • 655
收藏助手
不良信息举报
您举报文章:SSH 在本地执行远程机器上的命令
举报原因:
原因补充:

(最多只允许输入30个字)