Сценарий Bash – проверьте, находится ли переменная между двумя другими переменными?
В сценарии Bash я хочу проверить, находится ли var1 между var2 и var3. Но я не могу найти, как это сделать.
Что-то вроде этого.
var1=15
var2=10
var3=20
if [ "$var1" is located beetween "$var2" and "$var3" ]
then
echo "ok"
else
echo "not ok"
fi
Не могли бы вы мне помочь ?
Спасибо.
2 ответа
Предполагая, что значения всегда числовые и под «var1, расположенным между var2 и var3», вы имеете в виду, чтоvar2 < var1 < var3
, вы можете использовать это:
if (( $var2 < $var1 )) && (( $var1 < $var3 )); then
echo "ok"
else
echo "not ok"
fi
Ваша логика бессмысленна... Ведь код в скрипте статический, поэтому когда вы меняете что-либо в переменных, вы можете подкорректировать логику в остальной части скрипта.