> 文章列表 > cat命令写入文本的两种模式

cat命令写入文本的两种模式

cat命令写入文本的两种模式

博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬
cat命令写入文本的两种模式

目录

cat命令不仅常用于将较短的文本文件的内容输出到控制台,还可以很方便地将字符串写入到文件中。但是,我们在写入字符串的时候,有两种情况。
第一种情况是将字符串中的变量替换为值,然后写入,我们称这种情况为“Value模式”。
第二种情况是将字符串原样写入,如果字符串中有变量,就直接写入变量符号,而不写入变量的值,我们称这种情况为“Code模式”

以下是两种模式各自的实现方式,亲测可用。

Value模式

文本结束符 EOF不加引号,例如:

cat > ${UninstallFile} << EOF
#!/bin/bashfistCapitalName="${OurProductName}"${InstallDir}/LaoWangEvent/bin/LaoWangEvent-service stop  >/dev/null 2>&1
${InstallDir}/LaoWangEvent/gateway/bin/LaoWangEventGateway-service stop  >/dev/null 2>&1echo "${UNINSTALL_START}"
LaoWang_PROP_FILE_PATH="${UserHome}/.LaoWang.properties.\\`uname -n\\`.${TargetProductVersion}"
while read file
doEOF

Code模式

文本结束符 EOF加双引号,例如:

cat >> ${UninstallFile} << "EOF"if [ -f ${propertiesFilePath} ]; thensed -i '/'"Z_LaoWangScene${fistCapitalName}_INSTALL_DIR="'/d' ${propertiesFilePath}lineNumStr=$(cat ${propertiesFilePath} | wc -L)lineNum=$((${lineNumStr}))if [ ${lineNum} -eq 0 ]; thenrm -rf ${propertiesFilePath}fi
fi
echo "${UNINSTALL_END}"EOF

如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。