Похоже, что информация действительно не легко найти - архитектура, которая вам нужна, это amd64
. Исчерпывающая информация о различных архитектурах, поддерживаемых в Debian, доступна на странице портов Debian .
С ksh93
(также /bin/sh
в Solaris 11):
#! /usr/bin/ksh
eval "$(printf '%(y=%Y m=%-m)T')"
first=$(printf '%(%F)T' "$y-$(((m-1)/3*3+1))-1")
last=$(printf '%(%F)T' "$first next 2 months last day")
echo "$first $last"
first2=$(printf '%(%F)T' "$first last 3 months")
last2=$(printf '%(%F)T' "$first2 next 2 months last day")
echo "$first2 $last2"
Пример:
$ ./quarter
2017-04-01 2017-06-30
2017-01-01 2017-03-31
$ faketime 2017-01-31 ./quarter
2017-01-01 2017-03-31
2016-10-01 2016-12-31
Используя ваш подход, это будет:
eval "$(date +'y=%Y m=%m')"
case $m in
(0[1-3])
echo "$y-01-01 $y-03-31"
echo "$((y-1))-10-01 $((y-1))-12-31";;
(0[4-6])
echo "$y-04-01 $y-06-30"
echo "$y-01-01 $y-03-31";;
(0[7-9])
echo "$y-07-01 $y-09-30"
echo "$y-04-01 $y-06-30";;
(*)
echo "$y-10-01 $y-12-31"
echo "$y-07-01 $y-09-30"
esac
В любом случае обратите внимание, что синтаксис присвоения переменных в Bourne-подобных оболочках:
var=value
Нет пробела по обе стороны от =
.