table.txt里的内容是“EVENT_ID:VARCHAR:100”
如下问题在变量后面加字符串,但是变量右边的会替换左边的字符串
[root@hdp home]# var=`cat table.txt`
[root@hdp home]# d=(${var//:/ })
[root@hdp home]# a=`echo ${d[2]}`
[root@hdp home]# echo $a
100
[root@hdp home]# echo -e $a
100
[root@hdp home]# echo $a"b"
b00
[root@hdp home]# echo "cccccc"$a"bbb"
bbbccc100
[root@hdp home]#
看着是挺诡异的,我这里运行的是正确的,要不然你试试echo $a'b'(单引号标识强引用)
我的操作系统信息为:
Linux version 2.6.32-220.el6.x86_64 (mockbuild@x86-004.build.bos.redhat.com) (gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed Nov 9 08:03:13 EST 2011
我也遇到了这个问题, 你的table.txt 文件事CRLF的,换成LF 就好了,dos2unix 或者 sed -i 's/\r//g'