bash - 为什么未引用的变量评估会丢弃换行符,而未引用的赋值会保留 bash 中的换行符?
问题描述
“如何在 bash 变量中存储和打印换行符”这个问题有很多答案。简而言之,答案通常是在计算时需要引用包含换行符的变量。
例如
foo="1
2"
echo "$foo"
输出
1
2
和
echo $foo
输出
1 2
在这一点上,人们可能会认为变量的行可以通过将它们分配给另一个不带引号的变量来连接成一行。
例如
bar=$foo
然而
echo "$bar"
输出
1
2
这个问题的答案可能已经被问过了。但是,类似问题的大量答案可能会挤出我感兴趣的问题的现有答案。所以,需要问:为什么不带引号的变量评估会丢弃换行符,而赋值中的不带引号的变量评估会保留换行符?
没有参考文档的答案不会真正有用,因为行为已经很清楚了。语言律师可能会提供最好的答案。
解决方案
推荐阅读
- hyperledger-fabric - Hyperledger-composer 无法更改 BlockTimeout
- python - i cant sum the numbers (python)
- sql - Detect Value Changes beyond a threshold in Time Series data in SQL
- python - Shuffle only the last element of a list
- c++ - DiceSum - 如果骰子总和不是特定数字,如何扩展 if/if-else 语句以重新掷骰子
- javascript - 将object属性设置为括号中的值参数与不带括号
- javascript - 用函数创建方块并在 JavaScript 中移动带有 ID 的图片
- python - 我必须编写线性搜索,但我的代码似乎不起作用
- android - RTL 设备上的日期格式发生变化?
- sql-server - SSIS: Multiple Sources to 1 Destination