将字符串(例如“True”)转换为合适的bash布尔变量的最佳方式是什么?例如Java有java.lang.Boolean.valueOf(字符串)BASH将字符串转换为布尔变量
现在,我在击使用此:
if [ "${answers[2]}" = "TRUE" ] ; then
clean=true;
else
clean=false;
fi
是有办法做到这一点,避免IF语句?
编辑:澄清其不是由选择,我有字符串变量包含“真”,而不是只使用布尔变量。 为完整上下文这是代码
ans=$(yad --title='YadExample' --form --field=Opt1:CHK FALSE --field=Opt2:CHK FALSE --field=Opt3:CHK TRUE);
#at this point the "yad" program is returning a string seperated by '|', e.g "TRUE|FALSE|TRUE"
IFS="|"
set -- $ans
answers=([email protected])
unset IFS
if [ "${answers[0]}" = "TRUE" ] ; then clean=true; else clean=false; fi
if [ "${answers[1]}" = "TRUE" ] ; then var2=true; else var2=false; fi
if [ "${answers[2]}" = "TRUE" ] ; then var3=true; else var3=false; fi
'answers'数组来自哪里?什么是可能的输入值? – andrewdotn
我给这个问题增加了更多的上下文来解释我如何得到If语句 – bluphoenix