Я получаю сообщение об ошибке, я провел свое исследование, но ничего не нашел.

if [ $value -lt 3 -ne 1 ]; then
execute code
fi
line 6: [: syntax error: -ne unexpected
0
Zek6693 9 Окт 2021 в 17:54

2 ответа

Лучший ответ

Один из способов сделать эту работу -

if [ $value -lt 3 ] && [ $value -ne 1 ]; then
echo "Hello"
fi
1
zois 9 Окт 2021 в 15:05

Мне нравится переключаться на арифметические выражения с помощью ((, когда мне нужны такие тесты:

declare -a values=(1 2 3)

for value in "${values[@]}"; do
  if (( value != 1 && value < 3 )); then
    echo "execute code for $value"
  fi
done

Вышеуказанные выводы:

execute code for 2
1
Ionuț G. Stan 9 Окт 2021 в 15:14