bash - 换行符不被打印
问题描述
我正在编写一个 bash 脚本,它首先保存一个文本(换行符来自grep
),然后再打印它。由于某种原因,该行echo $TEXT
只打印一行。我看了一下这个答案,我相信我使用的是相同的东西(但使用 $() 而不是反引号),但它不起作用。有任何想法吗?
TEXT=$(grep Vacation vacations | grep Day)
echo "Counting days based on the following:"
echo "###############################################################"
echo $TEXT
echo "###############################################################"
解决方案
您必须引用$TEXT
,否则换行符将被视为任何其他空格,并且在确定echo
.
echo "$TEXT"
grep
但是,一旦您已经打印了标题,则简单地运行会更有效。
echo "Counting ..."
echo "####..."
grep Vacation vacations | grep Day
echo "####..."
推荐阅读
- oracle - 通过加入三个表进行更新
- javascript - @Interval 中的nestJs httpService.get 请求没有反应
- python - 在不使用 Python 库的情况下以百分比裁剪任何图像侧面的任何方法
- excel - EXCEL VBA 运行时错误5:无效的过程调用或参数
- substrate - 验证器的修剪模式
- swift - 尝试根据数字变量(即温度)显示不同的 print() 消息
- flutter - 如何在windows的flutter中获取主机名?
- javascript - 关于 JS 集的详细信息
- python - 安装/导入 gdal 时出错(没有名为“osgeo”的模块)
- swift - SwiftUI:编译器无法在合理的时间内对该表达式进行类型检查;尝试将表达式分解为不同的子表达式