É um padrão de Expansão de Expansão de Substring (subclasse de Expansão de Parâmetro) do shell.
O formato é:
${parameter:offset:length}
e a indexação começa em 0.
Digamos que você tenha uma variável foo
e, em seguida, ${foo:0:2}
produza os dois primeiros caracteres (da posição 0 para os próximos 2).
Exemplo:
$ foo=spamegg
$ echo "${foo:0:2}"
sp
No seu caso, o primeiro número, 1
, refere-se ao nome da variável $1
, que é o primeiro argumento passado pela linha de comando (no programa principal) ou o primeiro argumento passado à função.
Portanto, no seu caso, "${1:0:2}"
será:
-
comece a extrair a substring a partir do índice 0, ou seja, primeiro caractere
-
e continuar até os próximos dois caracteres
então, após a operação, você obterá os dois primeiros caracteres (indexados em 0 e 1) da string de entrada.
Os [ "${1:0:2}" != $rowArgName ]
e [ "${1:0:2}" != $colArgName ]
estão verificando se a subtração de saída é igual a algumas outras strings.