LinuxForum.Fans
Тема

Определение квартала на shell

Автор: tmp13 5 сообщений 2235 просмотров
#37502

Вообщем нужен скрип показывающий какой щас квартал. Конечная реализация будет на HP-UX поэтому не bash.
Что щас написал:

text
#!/bin/sh
currmonth=`date +%m`
currmonth=03
echo $currmonth
if [ "$currmonth" -le "3" ]
then
  echo "1 квартал"
fi
if [ "$currmonth" -le "6" -a "$currmouth" -gt "3" ]
then
  echo "2 квартал"
fi
if [ "$currmonth" -le "9" -a "$currmouth" -gt "6" ]
then
  echo "3 квартал"
fi
if [ "$currmonth" -le "12" -a "$currmouth" -gt "9" ]
then
  echo "4 квартал"
fi
exit 0;

запускаем и видим:

03
1 квартал
./changeQ.sh: line 11: [: : integer expression expected
./changeQ.sh: line 15: [: : integer expression expected
./changeQ.sh: line 19: [: : integer expression expected

понятно что ему ненравится конструкция

text
 if [ "$currmonth" -le "12" -a "$currmouth" -gt "9" ]

вопрос: а что не так та?))

P.S мб конечно надо логигу изменить но тем не менее..

#37507

currmouth это что за переменная?

#37515

блин))))))) вот так всегда=)
спасибо=)

#37516
Loky написал:
currmouth это что за переменная?

как я понял одна из двух:

text

currmonth=`date +%m`
currmonth=03
#37527

Попробуйте так:

text

#!/bin/sh
currmonth=03
currmonth=`date +%m`
echo $currmonth
if [ "$currmonth" -le "03" ]; then
  echo "1 квартал"
exit 0
fi
if [ "$currmonth" -le "06" ]; then
  echo "2 квартал"
exit 0
fi
if [ "$currmonth" -le "09" ]; then
  echo "3 квартал"
exit 0
fi
if [ "$currmonth" -le "12" ]; then
  echo "4 квартал"
fi

Пётр.

Войдите или зарегистрируйтесь, чтобы ответить.