Реализация предложения if в простом скрипте bash
У меня есть скрипт bash, который использует cal -m $v
где v
это номер. Пользователю предлагается v
значение в начале исполнения. В случае, если пользователь нажимает ENTER
вместо того, чтобы вводить число, я хочу, чтобы скрипт выводил дни текущего месяца, а именно выполнял просто cal
вместо cal -m $v
, Есть идеи?
1 ответ
Решение
Мы можем сделать лучше, мы можем сделать проверку диапазона, чтобы убедиться, что это от 1 до 12 включительно. Есть около миллиарда способов сделать это, но вот пара:
if [ "$v" -ge 1 -a "$v" -le 12 ]; then
cal -m "$v"
else
cal
fi
Или используйте арифметический тест:
((v>=1 && v<=12)) && cal -m "$v" || cal