文本在变量中缩短

问题描述

我创建了一个名为birthday的以下文件,其中包含以下字符串:

Happy Birthday
Happy Birthday
Happy Birthday

当我使用命令cat birthday时,shell将以行距输出文本字符串

Happy Birthday
Happy Birthday
Happy Birthday

当我尝试声明一个这样的变量-并将其回显时,所有内容都在单个字符串中被截断。如何保持间距并将其传递给变量:

birthday=$(cat birthday)  && echo $birthday

输出:

happy birthday happy birthday happy birthday

解决方法

不带引号的外壳将扩展变量并执行单词拆分。因此,它将6个参数发送到echo,该参数将所有参数打印成空格。

使用双引号防止单词分裂。

echo "$birthday"

顺便说一句,“截断”通常描述通过缩短末尾的字节而不是数据内部随机位置的字节来缩短数据。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...