Eu acho que você não usou um shebang ( #! /bin/bash
como a primeira linha do seu script). Nesse caso, o script é executado usando /bin/sh
, que é /bin/dash
. E echo
in dash
não suporta o% não padrão-e
(dê uma olhada no Padrão POSIX . Você realmente não deveria usar echo -e
. Use printf
para um comportamento muito mais portátil. Veja Por que é printf
melhor que echo '? no Unix e no Linux. Os seguintes comandos devem se comportar de maneira idêntica:
bash -c 'printf "%s" "Enter your name"'
dash -c 'printf "%s" "Enter your name"'