我的名字.txt包含:
Tom Daniel James
在Perl,
my $names = `cat names.txt`; print $names;
给我:
Tom Daniel James
在Bash,
names=`cat names.txt` echo $names
给我:
Tom Daniel James
这是od -c name.txt的输出:
0000000 T o m \n D a n i e l \n J a m e s 0000020
差异的原因是什么?
解决方法
两个变量都接收相同的值,但是你在Bash中检查值的方式是有缺陷的:使用echo“$names” – 注意双引号 – 来查看真值.
在Bash中不加引号地使用$name会使其值受到word-splitting的影响,这意味着值中的空格分隔的单词–Tom,Daniel和James – 作为echo的单独参数传递,并且echo在输出中将这些值与空格连接起来.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。