РЕДАКТИРОВАТЬ: РЕШЕНО. Спасибо всем!
Я создаю сценарий оболочки и не могу сравнить. Я называю это через ./myscript 1000, где 1000 находится в переменной с именем y.
Проблема в том, что мне нужно сделать так, чтобы, если я передал любой 4-значный номер в мой скрипт, такой как 0001, он не будет изменен моими операторами if, но когда я вызываю мой сценарий, он в основном говорит мне, что 0001 и 1 являются те же вещи. Как я могу проверить размер $ y, чтобы исправить мою проблему?
Я попытался повторить y, он показывает 0001 и 1, когда я передаю их в свой сценарий, но я не знаю, как оставить любое 4-значное число в покое.
####CODE SNIPP
#NOT EVEN NEEDED, JUST FOR SHOW, need to think of 0000 to any 4 digit #
#as different, but not sure how to do it.
if [ "$y" -ge 0000 ] && [ "$y" -le 9999 ]
then
#DO NOTHING
#IF Y <= 50 && Y >= 0
elif [ "$y" -le 50 ] && [ "$y" -ge 0 ]
then
#DO SOMETHING
#IF Y > 50 && Y <= 99
elif [ "$y" -gt 50 ] && [ "$y" -le 99 ]
then
#DO SOMETHING
fi
У кого-нибудь есть советы, как я могу сказать, что сценарий 0001 и 1 - это две разные вещи? Я считаю, что bash должен что-то проверить длину ввода или что-то, но я ничего не могу найти.