私はyad GUI zenity fork
で選択された各オプションに対して異なる応答を実行するためにifステートメントを使用しています。if文が動作しない(bash - zenity)のはなぜですか?
何らかの理由でif文がいくつかのオプションで動作し、他のものでは動作しません!
注:私は例の'
ため'^'
を代入しています
opt=^yad --list --column="Option" --column="Description" \
1 "option 1" \
2 "option 2
<i> subtext </i>" \
| cut -c 1^
echo $opt
if [[ $opt == 1 ]]
then
echo 1
elif [[ $opt == 2 ]]
then
echo 2
else
echo error
オプション1を与える:1 1
オプション2は与える:2 error
を。
echo $opt
出力で明らかなように、変数が記録されています。私はそれがsubtext
と関係があることを知っています、もし私がそれを消してしまうと、問題はなくなりますが、なぜ私は分かりませんか?
誰でも私に修正を手伝ったり、回避策を提案することはできますか?
ご協力いただきありがとうございます。この問題は本当に私を困惑させています。
あなたは-eqを試しましたか?もし[[$ opt-eq 1]] –
@ abhishekphukanうわー!それは完全に働いた、私は違いが文字列対整数だと思います。ありがとう、あなたは本当に私の一日を作った! – Linuxrox