Я пытаюсь создать оператор if с тремя выражениями. Это то, что я пытался, но не работает:если оператор с 3 выражениями в оболочке
if [ $a = $b -a $c -gt $d ] || [ $a = $f ];
С выше выражения, если $a = $f
он не выполняет тело, если заявление. Это возможно? Я пробовал разные комбинации, и никто не работает.
EDIT:
Вот мой полный пример по запросу:
a=9.3
c=9.3.0
q=/a/b/c/d ${a}
if [ "${a}" = "9.2" -a ${c:4:4} -ge 4 ] || [ "${a}" = "9.3" ]
then
q=/a/b/d ${a}
fi
Это работало, прежде чем я добавил || [ "${a}" = "9.3" ]
Работает нормально с 'a = 1 b = 1 f = 1 c = 2 d = 3' –
Кажется, работает и для меня, можете ли вы попробовать опубликовать полный исполняемый пример, включая значения переменных? –
@GavinSmith Я обновил свой вопрос – user972276