É um padrão de shell de Substring Expansion (subclasse de Parameter Expansion).
O formato é:
${parameter:offset:length}
e a indexação começa em 0.
Digamos que você tenha uma variável e foo
, em seguida, ${foo:0:2}
produz os dois primeiros caracteres (da posição 0 aos 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 transmitido via linha de comando (no programa principal) ou o primeiro argumento transmitido para a função.
Então, no seu caso, "${1:0:2}"
irá:
comece a extrair a substring a partir do índice 0, ou seja, primeiro caractere
e continue até os próximos dois caracteres
portanto, após a operação, você obterá os dois primeiros caracteres (indexados em 0 e 1) da string de entrada.
O [ "${1:0:2}" != $rowArgName ]
e [ "${1:0:2}" != $colArgName ]
está verificando se a subtração de saída é igual a algumas outras strings.
bash
.