Si je cours echo -e "\e[1;31mThis is red text\e[0m"
en ligne de commande, il imprime du texte rouge.
Cependant, si j'utilise l'écrire dans un fichier script test.sh
#! /bin/bash
echo -e "\e[1;31mThis is red text\e[0m"
courir $ sh test.sh
Il imprime
-e \e[1;31mThis is red text\e[0m
Pourquoi agissent-ils différemment?
/bin/echo
avec tiret (/bin/sh
) et bash;echo
avec bash ou les./tes.sh
deux fonctionne correctement. Le code ci-dessous fonctionnebash
uniquement avec . if [$ UID -ne 0]; puis écho "Pas utilisateur root" sinon écho "Utilisateur root" fi