Se corro echo -e "\e[1;31mThis is red text\e[0m"
nella riga di comando, stampa il testo rosso.
Tuttavia, se uso scriverlo nel file di script test.sh
#! /bin/bash
echo -e "\e[1;31mThis is red text\e[0m"
correre $ sh test.sh
Si stampa
-e \e[1;31mThis is red text\e[0m
Perché agiscono diversamente?
/bin/echo
con trattino (/bin/sh
) e bash;echo
con bash o./tes.sh
entrambi funzionano correttamente. Il codice seguente funzionabash
solo con . if [$ UID -ne 0]; quindi echo "Utente non root" altrimenti echo "Utente root" fi