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