リテラル文字列を変換する最良の方法は何ですか(たとえば、「True」を適切なbashブール変数に変換します)。たとえば、javaにはjava.lang.Boolean.valueOf(String)があります
現在、私はこれをBashで使用しています。
if [ "${answers[2]}" = "TRUE" ] ; then
clean=true;
else
clean=false;
fi
それを実行してIFステートメントを回避する方法はありますか?
編集:ブール変数を使用するだけでなく、「TRUE」を含む文字列変数があることを選択せずに明確にするため。フルコンテキストの場合、これはコードです
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=( $@ )
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