【Linux】SSH远程执行命令

注: 部分概念介绍来源于网络

SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远程操作。
一、执行简单的命令:
ssh root@127.0.0.1 "df -h"
一次执行多条命令,使用分号把不同的命令隔起来就 OK 了
ssh root@127.0.0.1 "df -h;pwd"
添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互的命令。
ssh -t root@127.0.0.1 "df -h"

二、保存远程执行命令结果:
赋值的方式:result=`ssh root@127.0.0.1 "df -h"`
追加到文件:ssh root@127.0.0.1 "df -h" >> ./log

三、执行本地的脚本
我们在本地创建一个脚本文件 test.sh:
然后运行下面的命令:
ssh root@127.0.0.1 < test.sh
通过重定向 stdin,本地的脚本 test.sh 在远程服务器上被执行。
接下来我们期望能为脚本 test.sh 传递一个参数:
然后尝试执行下面的命令:
ssh root@127.0.0.1 < test.sh helloworld
ssh root@127.0.0.1 < "test.sh helloworld"
显示了执行的结果:方法都无法为脚本传递参数。
要想在这种情况下(远程执行本地的脚本)执行带有参数的脚本,需要为 bash 指定 -s 参数:
ssh root@127.0.0.1 'bash -s' < test.sh helloworld

四、执行远程服务器上的脚本
除了执行本地的脚本,还有一种情况是脚本文件存放在远程服务器上,而我们需要远程的执行它!
此时在远程服务器中有一个脚本 test.sh。文件的内容如下:
执行下面的命令:
ssh root@127.0.0.1 "/home/test.sh"
注意,此时需要指定脚本的绝对路径!
下面我们也尝试为脚本传递参数:
然后尝试执行下面的命令:
ssh root@127.0.0.1 /home/test.sh helloworld
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值