【问题标题】:text is shortened in variable [duplicate]变量中的文本被缩短[重复]
【发布时间】:2020-08-12 20:41:15
【问题描述】:

我创建了以下名为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

【问题讨论】:

标签: bash ubuntu echo quotes truncate


【解决方案1】:

没有引号,shell 扩展变量并执行分词。因此,它将 6 个参数发送到 echo,然后将它们全部打印出来,并用空格分隔。

使用双引号防止分词。

echo "$birthday"

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多