perl和bash外部命令的区别

前端之家收集整理的这篇文章主要介绍了perl和bash外部命令的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的名字.txt包含: @H_502_2@Tom Daniel James

在Perl,

@H_502_2@my $names = `cat names.txt`; print $names;

给我:

@H_502_2@Tom Daniel James

在Bash,

@H_502_2@names=`cat names.txt` echo $names

给我:

@H_502_2@Tom Daniel James

这是od -c name.txt的输出

@H_502_2@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在输出中将这些值与空格连接起来.

猜你在找的Perl相关文章