扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
以下方法可以实现你的要求
创新互联是一家专业提供洪山企业网站建设,专注与成都做网站、网站制作、H5页面制作、小程序制作等业务。10年已为洪山众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
#!/bin/bash
for i in `cat server`
do
Ipaddr=`echo $i|awk '{print $1}'`
#Uname=`echo $i|awk '{print $2}'`
#Upasswd=`echo $i|awk '{print $3}'`
/usr/bin/expect /dev/null EOF1
set timeout 5
spawn ssh root@${Ipaddr}
#spawn ssh ${Uname}@${Ipaddr}
expect {
"*yes/no" { send "yes\r"; exp_continue}
"*assword:" { send "root\r" }
# "*assword:" { send "Upasswd\r" }
}
expect "#*"
send "修改主机名;\r"
send "重启服务;\r"
expect eof
EOF1
done
把test.sh脚本里的yes判断去掉就是了。。。
如果不想改,也很简单:
#!/bin/bash
for i in `cat test.txt`
do
echo "yes" | ./test.sh -id $i
done
如果执行没有顺序的话,可以试试这个命令:
for filename in $( ls /opt/weblogic/jstx/bin); do sh "/opt/weblogic/jstx/bin/"$filename; done
上面的命令默认目录下所有文件都是.sh的,如果有其他格式的可以过滤以后在执行:
for filename in $( ls /opt/weblogic/jstx/bin |grep ".sh"); do sh "/opt/weblogic/jstx/bin/"$filename; done
如果需要开机启动这些脚本,可以将命令写到 /etc/rc.local
或者把命令写到脚本jiaoben.sh,然后sh jiaoben.sh:
#!/bin/bash
for filename in $( ls /opt/weblogic/jstx/bin|grep ".sh")
do
sh "/opt/weblogic/jstx/bin/"$filename
done
exit
把你的命令写入一个shell脚本就行了啊。
新建一个文本文件,然后给他赋予可执行权限就行了。
文本内容为
#/bin/bash
。。。你的命令
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流