shell 变量的值中如果有空格
下面两种情况请解释一下:1.a=`echo""|awk'{"%-10s\n",$0}'`echo"1"${a}"1"结果:[11](变量a竟然只有1空格,而不是10个,不...
下面两种情况请解释一下:
1.a=`echo " " | awk '{"%-10s\n",$0}'`
echo "1"${a}"1"
结果:[1 1](变量a竟然只有1空格,而不是10个,不懂)
2.`echo " " | awk '{"%-10s\n",$0}'`>a.txt
结果:a.txt[](无内容,不懂)
3.echo " " | awk '{"%-10s\n",$0}'`>a.txt
结果:a.txt[ ](10空格,这个懂)
相对于第一种情况,如果是下面两种输出方式,将会是首尾空格被消去的样子
echo "1"${a}
结果[1]
echo ${a}"1"
结果[1]
最终的解决方法是 用sed输出空格赋值给变量,用变量去拼接。
下面的回答我试过,解决不了问题。 展开
1.a=`echo " " | awk '{"%-10s\n",$0}'`
echo "1"${a}"1"
结果:[1 1](变量a竟然只有1空格,而不是10个,不懂)
2.`echo " " | awk '{"%-10s\n",$0}'`>a.txt
结果:a.txt[](无内容,不懂)
3.echo " " | awk '{"%-10s\n",$0}'`>a.txt
结果:a.txt[ ](10空格,这个懂)
相对于第一种情况,如果是下面两种输出方式,将会是首尾空格被消去的样子
echo "1"${a}
结果[1]
echo ${a}"1"
结果[1]
最终的解决方法是 用sed输出空格赋值给变量,用变量去拼接。
下面的回答我试过,解决不了问题。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询