Você está perdendo os espaços em seus comandos de teste. Esta parte:
if [$Thorpe = Y]; then
if [$ati = Y]; then
...
deve ser
if [ $Thorpe = Y ]; then
if [ $ati = Y ]; then
...
Sem os espaços, o shell expande o valor de $Thorpe
para N
e tenta executar [N
, que ele vê como um comando. Ele não reconhece isso como um comando válido e gera o erro que você está vendo.
Pessoalmente, prefiro usar o [[ $Thorpe = Y ]]
Bash incorporado, em vez de test
, ( [ $Thorpe = Y ]
), ele lida melhor com strings não citadas e tem um uso mais óbvio de & amp; & amp; e || operadores.