$1
é o primeiro parâmetro posicional , ou seja, argumento para a função. awk -F-
define awk
s separador de campo para um traço e print $2
imprime o segundo campo. Então, de aa-bb-cc
, você obteria bb
.
Presumivelmente, a função espera ser chamada como getDateFormat something-2017-06
, o que parece estranho, mas o ano é escolhido a partir do segundo campo separado por traço.
$ii
refere-se a uma variável, mas ela não está definida antes do teste if [ $mm -eq $ii ];
, de modo que o teste veja [ 123 -eq ]
(com 123
provavelmente algum número selecionado de $1
). Isso causa um erro, pois o operador -eq
está ausente do outro operando.