linux循环执行命令脚本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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论