le cours d'IUT que j'utilise pour apprendre les bases utiles pour écrire un script ne mentionne pas la commande composée if [ ] mais seulement if [[ ]]. Sont-elles identiques par leurs effets ou y a-t-il une différence?
Cours d'IUT:
j'ai testé les 2 possibilités dans ce scriptLa commande interne composée [[ est souvent utilisée avec la commande interne composée
if. Elle permet l’évaluation d’expressions conditionnelles portant sur des objets aussi différents
que les permissions sur une entrée, la valeur d’une chaîne de caractères ou encore l’état d’une
option de la commande interne set.
Syntaxe :
[[ expr_cond ]]
Code : Tout sélectionner
#!/bin/bash
if [[ $(whoami) = 'root' ]]; then
echo "You are root"
else
echo "you are not"
fiCode : Tout sélectionner
~$ a="au revoir"
[ $a == 123 ]
echo $?
bash: [: too many arguments
2
~$ a="au revoir"
[[ $a == 123 ]]
echo $?
1
~$ a="au revoir"
[[ $a == "au revoir" ]]
echo $?
0


