linux批量命令脚本 linux批量执行的脚本
linux 批量修改主机名脚本
以下方法可以实现你的要求
创新互联是一家专业提供洪山企业网站建设,专注与成都做网站、网站制作、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
想做个linux下的脚本中,在原先的命令中需要在输入命令后手动输入一个yes后才能执行 我想批量执行命令
把test.sh脚本里的yes判断去掉就是了。。。
如果不想改,也很简单:
#!/bin/bash
for i in `cat test.txt`
do
echo "yes" | ./test.sh -id $i
done
linux下批量执行.sh文件
如果执行没有顺序的话,可以试试这个命令:
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
如何在linux下批量执行命令?
把你的命令写入一个shell脚本就行了啊。
新建一个文本文件,然后给他赋予可执行权限就行了。
文本内容为
#/bin/bash
。。。你的命令
标题名称:linux批量命令脚本 linux批量执行的脚本
转载来于:http://scyanting.com/article/ddjiseh.html