shell 命令行语句

第一步:
ssh免密码登陆【用公钥,私钥】

第二步:

#!/bin/bash

while read server;do
        ssh -n $server "$@" 2>&1 |sed "s/^/$server: /" &
done
wait

 

./bunsan2.sh free < servers.txt

注释:while read server 把输入的内容当做变量 server

-n ssh的选项,不进行标准输入的读取。

"$@" 进行循环 。

2 >&1 如果没有这个命令,ssh 命令写入到标准错误输出的内容就不会传递给sed命令。它的作用就是 将标准错误输出的开头指定为标准输入相同。

& 后台处理。如果不这样的话, 一条命令执行过长,才能执行后面一条命令。

第三步:

servers.txt文件里面的内容

root@58.241.41.141
root@58.241.41.142
root@58.241.41.143

 ./bunsan2.sh free < servers.txt

就可以看到三排结果了。

./bunsan2.sh free < servers.txt >dgx.txt 或者这样,继续重定向。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。