当前位置: 技术问答>linux和unix
Bash变量,后面的字符串为什么前置了?
来源: 互联网 发布时间:2017-04-28
本文导语: 废话不说 直接代码 #!/bin/bash set -x devName=$(adb shell cat /system/build.prop | grep "product.model"|awk '{print substr($0,18)}') echo "Test device is :"${devName}"plz,have a check." 得到的结果是: ++ awk '{print substr($0,18)}' ++ grep product...
废话不说 直接代码
得到的结果是:
为什么plz... 会放到前面,关键结果中第四行输出的变量怎么还有一个单引号。刚接触shell不久,不是很熟。还请各位指点则个。
#!/bin/bash
set -x
devName=$(adb shell cat /system/build.prop | grep "product.model"|awk '{print substr($0,18)}')
echo "Test device is :"${devName}"plz,have a check."
得到的结果是:
++ awk '{print substr($0,18)}'
++ grep product.model
++ adb shell cat /system/build.prop
' devName='HTC X920e
plz,have a check.'e is :HTC' 'X920e
plz,have a check.TC X920e
为什么plz... 会放到前面,关键结果中第四行输出的变量怎么还有一个单引号。刚接触shell不久,不是很熟。还请各位指点则个。
|
从你这个输出:
' devName='HTC X920e
可以看出,明显这个字符串含有 'r' 符号,它会把光标移到行首的。
解决方法是可以做一个替换换掉,或者上面 awk 处理的时候就考虑这个特号的处理。
' devName='HTC X920e
可以看出,明显这个字符串含有 'r' 符号,它会把光标移到行首的。
解决方法是可以做一个替换换掉,或者上面 awk 处理的时候就考虑这个特号的处理。