Linux Shell中EOF的妙用

作者: 刘小白DOER | 来源:发表于2021-03-16 04:56 被阅读0次

    笔者最近遇到几起在Shell中使用EOF来定义一块执行脚本,终于可以大大减少代码量和增强逻辑性,现在将其总结分享出来。Shell中通常将EOF与 << 结合使用,表示后续输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。

    EOF可以替换为你想要任何符号。

    为了方便,笔者在docker容器内完成测试。

    其用法如下:

    <<EOF        

    ....

    EOF            

1、执行mysql数据库的多指令

#!/bin/bash

mysql -hlocalhost -uroot -p123456 <<EOF

show master status\G;

#show slave hosts;

use docker_test;

select * from cards;

#exit

EOF

测试效果如下:

2、expect自动交互执行

    详情参考Linux中expect工具完成远程交互通信(1),里面有详细的代码的解释。

3、cat和eof追加文件

#!/bin/bash

cat >> /test.log <<EOF

abcdef

hello word !

12345678

EOF

4、追加配置到文件。这是笔者在添加阿里docker加速时发现的。

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]

}

EOF

  这里存在  <<和<<-的区别问题,有-的话,EOF作为结束符时,前面可以有制表符和空格。同时加了引号,里面内容的表达式不会被解析。

5、与:结合来注释代码段,:是shell中的空语句

#!/bin/bash

echo "hello world!"

:<<COMMENTBLOCK

echo "starting"

echo "this is a pro"

echo "comment"

COMMENTBLOCK

echo "hello world!"

相关文章

  • Linux Shell中EOF的妙用

    笔者最近遇到几起在Shell中使用EOF来定义一块执行脚本,终于可以大大减少代码量和增强逻辑性,现在将其总结分享出...

  • shell中的EOF用法

    1、EOF Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EO...

  • 关于shell的EOF

    shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返...

  • linux shell脚本EOF

    一般使用 echo "内容" > test.sh 为test.sh 填充内容echo "内容" >> test.s...

  • 关于shell的EOF

    之前在执行hbase shell的时候用过这个用法,现在温习一下。Shell中通常将EOF与 << 结合使用,表示...

  • 脚本改写总结

    1.cat EOF cat << EOF后的文本为标准输入,不需要考虑shell语法缩进,直接按实际缩进编写 EO...

  • shell(六)

    Shell 函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的...

  • Linux中$()和${}的区别

    参考Linux中$()和${}的区别Linux—shell中$(( ))、$( )、``与${ }的区别 1. $...

  • 2018-02-07 linux shell 中"2>&1"含义

    linux shell 中"2>&1"含义

  • Shell 函数

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。 shell中函数的定义格式如下: ...

网友评论

    本文标题:Linux Shell中EOF的妙用

    本文链接:https://www.haomeiwen.com/subject/yuwkcltx.html