shell编程之EOF

来源:互联网 发布:互联网高薪职位 知乎 编辑:程序博客网 时间:2024/06/04 01:22
       最近碰到个问题,利用程序批量部署服务器,虽然可以利用软件批量连接多个服务器,然后进入子shell输入命令同时操作多个服务器,但还是觉得比较麻烦,希望能有一个脚本能直接批量连接,自动对多个服务器进行操作。
       因为批量连接服务器已经实现了,所以主要问题是实现脚本自动同时操作多个服务器。这次实现方法是借助了EOF和<<。

       在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到到”EOF“,再次返回到主调shell,可将其理解为分界符(delimiter)。既然是分界符,那么形式自然不是固定的,这里可以将”EOF“可以进行自定义,但是前后的”EOF“必须成对出现且不能和shell命令冲突。

1.cat <<EOF|/root/cheung/bin/cheungssh.py2.cd /usr/sbin/3.unzip -o "$proc_file".zip4.chmod 600 $proc_file5.cd /usr/sbin/$proc_file/6.chmod 700 $init_op7./usr/sbin/$proc_file/$init_op8.cd /usr/sbin/9.rm -rf "$proc_file".zip10.EOF
这个就是自动执行脚本的一部分,EOF是分隔符,2-9行的命令作为子shell的输入命令,实现了自动对多个服务器的操作

0 0