我有这样一个脚本:
#!/bin/bash
temp=`inxi -xxx -w`
regex="(Conditions:(.+))(Wind:(.+))Humidity"
[[ $temp =~ $regex ]]
echo ${BASH_REMATCH[1]}
echo ${BASH_REMATCH[3]}
它的工作原理很酷,除了细节之外-字体颜色已更改,现在整个文本变为蓝色。我该如何预防?
为了避免蓝色输出:
#!/bin/bash
temp=$(inxi -xxx -w | sed -r 's/\x1B\[[0-9;]*[JKmsu]//g')
regex="(Conditions:(.+))(Wind:(.+))Humidity"
[[ $temp =~ $regex ]]
echo ${BASH_REMATCH[1]}
echo ${BASH_REMATCH[3]}
我所做的更改:
`
)已弃用。使用$(command)
代替`command`
。inxi
用sed
正则表达式到我管了。要正确使用蓝色输出:
#!/bin/bash
temp=$(inxi -xxx -w)
regex="(Conditions:(.+))(Wind:(.+))Humidity"
[[ $temp =~ $regex ]]
echo ${BASH_REMATCH[1]}
echo ${BASH_REMATCH[3]}
printf "\e[0m" # Reset the color.
\e
您可以使用\033
或\x1b
。都是一样的东西。[0m
您可以使用[39;49;00m
。printf
可以使用echo -e
,但是我不建议您使用。进一步阅读: http : //wiki.bash-hackers.org/scripting/terminalcodes
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句