linux批量命令脚本 linux批量执行的脚本
linux 批量修改主机名脚本
以下方法可以实现你的要求
#!/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
。。。你的命令
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: linux批量命令脚本 linux批量执行的脚本
本文地址: https://pptw.com/jishu/4017.html