加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl和bash外部命令的区别

发布时间:2020-12-15 21:50:50 所属栏目:大数据 来源:网络整理
导读:我的名字.txt包含: TomDanielJames 在Perl, my $names = `cat names.txt`;print $names; 给我: TomDanielJames 在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
我的名字.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在输出中将这些值与空格连接起来.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读