执行下面的代码
[code="bash"]
$ a=aa
$ b=bb
$ echo -e $a"\t"$b
aa bb
$ c=echo -e $a"\t"$b
$ echo $c
aa bb
[/code]
第一次echo的时候,可以看到aa和bb之间有很大的空白,说明制表符打印成功
为什么第二种方式echo,tab就不见了
我现在的想要做的是,把a和b变量用tab拼接起来
执行下面的代码
[code="bash"]
$ a=aa
$ b=bb
$ echo -e $a"\t"$b
aa bb
$ c=echo -e $a"\t"$b
$ echo $c
aa bb
[/code]
第一次echo的时候,可以看到aa和bb之间有很大的空白,说明制表符打印成功
为什么第二种方式echo,tab就不见了
我现在的想要做的是,把a和b变量用tab拼接起来
[code="sh"]
bash -x -c 'c=echo -e a"\t"b
; echo $c'
[/code]
输出:
[code="sh"]
++ echo -e 'a\tb'
[list]
[*]c的内容是正确的,包含了\t
[*]echo $c,$c会被变量值替换,而\t会被命令行忽略,就变成了:echo a b
[*]"$c",也会被替换,但是注意是在双引号内部替换,所以是“a b”
[/list]
[code="sh"]
bash -x -c 'c=echo -e a"\t"b
; echo "$c"'
++ echo -e 'a\tb'