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