Provavelmente, há algumas coisas a verificar:
Certifique-se de estar executando o seu arquivo shell de uma forma que permita entender ao seu terminal que é um arquivo armazenado na pasta atual. Por exemplo, se o nome do arquivo do seu script for myscript.sh, não digite myscript.sh
mas ./myscript.sh
. Se você não fizer isso, o terminal pensaria que o script está em outro lugar, como
/bin/
/usr/bin
/usr/sbin
/sbin
na maior parte do tempo, sobre comandos instalados ou do sistema. O ponto se refere à pasta atual, enquanto dois pontos ( ..
) se referem à pasta pai.
O outro ponto que você pode verificar é que você tem permissão para executar o arquivo. Se você estiver executando o Ubuntu, clique com o botão direito no seu arquivo - > propriedades - > permissões - > marque "Permitir execução como um programa".
Não tenho certeza, mas você também pode precisar começar seu script com a seguinte linha: #!/bin/sh
, embora eu já tenha usado script sem essa linha de cabeçalho.