lucky miao 2023-07-25 09:53 采纳率: 40%
浏览 15
已结题

linux shell echo 没有写入到指定的文件

下面输出ABCD到MAIL_BODY里面去,CD都能输出了,为什么AB就是写不进去呢?

grep -sl "coloar" ${LOG_DIR}/IYECMA9D*.log > ${TMP_FILE}  2>> ${LOG_FILE}
grep -sl "olderr" ${LOG_DIR}/IYECMA9D*.log > ${TMP_FILE2}  2>> ${LOG_FILE}

##
MAIL_LST="/ryu1/common/rls/param/iyec_teijyo_check_mail.lst"
MAIL_FROM=`grep "MAIL_FROM" ${MAIL_LST} | awk -F"=" '{print $2}' | sed 's/"//g'`

MAIL_TO=`grep "MAIL_TO" ${MAIL_LST} | awk -F"=" '{print $2}' | sed 's/"//g'`
MAIL_TITLE=`grep "MAIL_TITLE" ${MAIL_LST} | awk -F"=" '{print $2}' | sed 's/"//g'`
# 
if  [ -s ${TMP_FILE} ] || [ -s ${TMP_FILE2} ]
then
echo "A"  >>  ${MAIL_BODY}
echo "B"  >>  ${MAIL_BODY}
  if  [ -s ${TMP_FILE} ]
  then
    echo "" > ${MAIL_BODY}
    echo "C"  >>  ${MAIL_BODY}
    cat ${TMP_FILE} >>  ${MAIL_BODY}  2>> ${LOG_FILE}
  fi
  if  [ -s ${TMP_FILE2} ]
  then
echo ""  >>  ${MAIL_BODY}
    echo "D"  >>  ${MAIL_BODY}
    cat ${TMP_FILE2} >>  ${MAIL_BODY}  2>> ${LOG_FILE}
  fi
else
echo "E"  >>  ${MAIL_BODY}
fi

  • 写回答

1条回答 默认 最新

  • 藏柏 2023-07-25 10:05
    关注

    因为你这行代码会清空覆盖echo "" > ${MAIL_BODY}

    你把>改成>>就好了

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 7月25日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上