A opção -n
para read
é uma extensão bash, não encontrada em algumas outras shells. Se você obteve o erro read: Illegal option -n
, significa que você não executou o script no bash. É mais provável que você tenha executado o script em /bin/sh
e /bin/sh
não seja bash, mas traço (a mensagem de erro é o que um traço produz).
Para executar um script no bash, inicie-o com uma linha shebang #!/bin/bash
, faça o script executável do arquivo de script e chamá-lo pelo nome. Como você tem uma linha shebang, o problema pode ser que você executou . /path/to/script
em vez de /path/to/script
de outro script em execução em /bin/sh
.