为何bash中一条命令的输出保存到变量之后换行符变成了空格

为何bash中一条命令的输出保存到变量之后换行符变成了空格
 
在 bash 中,为了将一个命令的输出保存到变量中,通常是两种写法:
 
1
result=`ls -al`
2

3
result=$(ls -al)
如果命令中的输出只有一行,一切皆没有问题,比如
1
result=$(ls -al | wc -c)
整个命令的输出是一个数字,看起来一切正常。
 
但我们运行以下脚本时,输出的结果是一团糟:
 
1
<span></span>result=$(ls -al)
2
echo $result<span></span>
发现输出的结果中,换行符被替换成了空格,一个多行的输出变成了一行!
 
解决办法:
 
1
result=$(ls -al)
2
echo “$result”
这样输出就正常了。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值