echoadalah shell builtin di Bash and dash ( /bin/sh). Jika Anda menjalankan echodari baris perintah Anda menggunakan Bash builtin, jika Anda menjalankan skrip shell shAnda dengan Anda menggunakan Dash builtin.
Versi dasbor dari echotidak tahu -eopsi tetapi hanya mengeluarkan sesuatu kata demi kata tanpa penanganan khusus untuk \urutan.
Gunakan Bash untuk menjalankan skrip shell Anda, atau gunakan /bin/echoalih-alih echo:
/bin/echo -e "\e[1;31mThis is red text\e[0m"
Untuk menghindari masalah dengan versi berbeda, echoAnda mungkin ingin menggunakannya printf. Berbeda dengan echo printfselalu menginterpretasikan \urutan tetapi tidak secara otomatis menambahkan linefeed di akhir sehingga Anda harus menambahkan \ndi akhir jika Anda menginginkannya.
Karena beberapa versi printftidak mengerti, \eAnda sebaiknya menggunakan \033:
printf "\033[1;31mThis is red text\033[0m\n"
/bin/echodengan tanda hubung (/bin/sh) dan bash;echodengan bash atau./tes.shkeduanya berfungsi dengan benar. Kode di bawah inibashhanya berfungsi dengan . if [$ UID -ne 0]; lalu gema "Bukan root pengguna" lain gema "Root User" fi