$1
— первый позиционный параметр , т.е. аргумент функции. awk -F-
устанавливает разделитель полей awk
в тире, а print $2
печатает второе поле. Итак, из aa-bb-cc
,вы получите bb
.
Предположительно функция должна вызываться как getDateFormat something-2017-06
, что выглядит странно, но год выбирается из второго поля, разделенного дефисом -.
$ii
будет ссылаться на переменную, но она не установлена перед тестом if [ $mm -eq $ii ];
, поэтому тест видит[ 123 -eq ]
(с 123
, возможно, некоторым числом, выбранным из$1
). Это вызывает ошибку, поскольку в операторе -eq
отсутствует другой операнд.