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