一、问题
当赋值给变量output后,然后用echo打印出来时,发现并没有自动换行。
#!/bin/bash
#日志所在路径
DIR1="/usr/local/hdfs/scada-ipop/log/datagram/hd4g_mqtt_311"
#保存测试文件所在路径
DIR2="/home/hdcsb/shell-20231103/ln/lntest"
#获取当前时间
DATE=`date +%H:%M:%S`
echo $DATE
#判断当前时间是否在15:00与16:00之间,并执行一系列操作
if [[ "$DATE" > "12:00:00" ]] && [[ "$DATE" < "19:30:00" ]]
then
cd $DIR1
echo $DIR1
output=$(cat "2023-11-10-log.log" | grep '5F 80 33' | awk -F '{|}|5F 02|5F 03' '{print $2$4}'| sort -u)
echo $output
#echo $output >> $DIR2/$DATE.txt
#sleep 60
else
echo '不满足时间条件'
fi
上面shell脚本打印出来的内容并没有自动换行 。
二、解决方法
给打印语句echo $output加上引号:echo "$output"