linux shel EOF对hosts的使用

输入整段命令: cat >> /etc/hosts << EOF

192.168.47.150 k8smaster

192.168.47.161 k8snode1

192.168.47.162 k8snode2

EOF

然后回车

 

 

前言
环境:Centos7.9

cat实用技巧
实用技巧1:输出多行字符

cat<< EOF
>菜单大全:
>青椒炒肉丝
>凉拌黄瓜
>铁锅炖大鹅
EOF

使用技巧2:覆盖或追加多行字符到文件

cat>>/etc/rc.local<< EOF #说明:这里的EOF没有加单引号,则shell默认会解析特殊字符,如遇$符号解析变量值
>菜单大全:
>青椒炒肉丝
>凉拌黄瓜
>我家:$PATH #这里将被解析成环境变量PATH的值
EOF

如果想内容就是字符串,不让shell自动解析怎么办?则在第1个EOF用单引号把括起来,如下:

cat>>/etc/profile<< 'EOF' #用单引号括起来
>$JAVA_HMOE=/usr/local/java
>PATH=$JAVA_HMOE/bin:$PATH
>export PATH
EOF #最后这个EOF不需要加单引号,否则shell将识别不了结束符

注意:cat >>/etc/profile<< 'EOF' 还可以这样写:

cat<< 'EOF' >>/etc/profile #把EOF放在前面
>$JAVA_HMOE=/usr/local/java
>PATH=$JAVA_HMOE/bin:$PATH
>export PATH
EOF #最后这个EOF不需要加单引号,否则shell将识别不了结束符

以上就是非常实用的cat命令技巧啦,比如在脚本中配置java的环境变量到/etc/profile,如果EOF不加单引号,就会出错的喔。
————————————————
版权声明:本文为CSDN博主「樱❀」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuyang9909/article/details/125386649

posted @ 2022-09-07 21:14  技术颜良  阅读(71)  评论(0编辑  收藏  举报