MinuteNow =date +%M
;
for ((i=2;i<=57;i+=5))
do
if [ "$MinuteNow" == "$i" ]; then
*************
fi
done
Проблема для 2 и 7, вывод команды даты равняется 02 и 07, но переменный $i равняется 2 и 7... Я пытался добавить условие изменить только эти 2, но оно прослушивало цикл...
Можно ли дать мне подсказку?
В Bash необходимо будет вынудить строку базироваться 10:
if (( 10#$MinuteNow == i )) # you can omit the dollar sign on bare variables in this context
В Оболочке Bourne (sh):
if [ $MinuteNow -eq $i ]
В zsh или ksh93:
if (( MinuteNow == i )) # you can omit the dollar sign on bare variables in this context
Используйте "-eq" для сравнения чисел, затем Вы, привычка имеет это проблемы:
if [ "$MinuteNow" -eq "$i" ]; then
должен сделать это.
(существует много других возможностей, будучи $ {MinuteNow#0} другой простой, но я вещь с помощью правильного оператора-eq вместо == являюсь лучшим).