Bem,
- A substituição de comandos é
$( ... )
, não${ ... }
. Parêntese regular, não chaves. - Você tem
$index
entre aspas simples, portanto, não será expandido pelo shell. Você precisa de aspas duplas para isso. - Coloque aspas duplas em torno de
$data
no eco, faz diferença sedata
contiver espaços em branco ou caracteres glob - No bash, você pode usar apenas a expansão de subcadeia
data=${data:$index}
para descartar vários caracteres da frente da string.
Sugestão de leitura: link