Le test "ET" vient fausser ce que j'ai écrit. Car il faut que deux conditions soient vraies pour que le résultat soit vrai.
Le #16 donne une piste
Donc, scripts modifiés pour ne tester que l'UID.
document1.sh
document2.shecho ""
user=`env | grep '^USER=' | sed 's/^USER=//'`
echo "test1, si UID différent de 0"
echo "\#if [ "UID" != "0" ]"
if [ "$UID" != "0" ]; then
echo "Vrai, N° UID="$UID
else
echo "Faux, N° UID="$UID
echo ""
fi
echo "test2, si UID égale 0"
echo "\# if [ "UID" = "0" ]"
if [ "$UID" = "0" ]; then
echo "Vrai, N° UID="$UID
else
echo "Faux, N° UID="$UID
echo ""
fi
C'est le bazar. UID= , ce n'est plus UID=0 pour l'un. UID= , c'est UID=0 pour l'autreecho ""
echo "test1, UID différent de 0"
echo "\#if [ "UID" != "0" ]"
if [ "${UID:-$(id -u)}" != "0" ]; then
echo "Vrai, UID="$UID
else
echo "Faux, N° UID="$UID
echo ""
fi
echo "test2, UID égale 0"
echo "\# if [ "UID" = "0" ]"
if [ "${UID:-$(id -u)}" = "0" ]; then
echo "Vrai, N° UID="$UID
else
echo "Faux, N° UID="$UID
echo ""
fi
-----


