Tester l'exécutabilité avec test -x
Dans cette étape, vous apprendrez à vérifier si un fichier est exécutable en utilisant la commande test
avec l'option -x
. La commande test
est une commande intégrée au shell qui évalue des expressions conditionnelles. L'option -x
vérifie spécifiquement les autorisations d'exécution.
Tout d'abord, créons un simple fichier texte dans votre répertoire ~/project
. Nous utiliserons la commande echo
pour insérer du texte dans un fichier nommé my_script.sh
.
echo "echo 'Hello from the script!'" > ~/project/my_script.sh
Maintenant, vérifions si ce fichier est exécutable. Par défaut, lorsque vous créez un nouveau fichier de cette manière, il n'a pas d'autorisations d'exécution.
Utilisez la commande test -x
suivie du chemin du fichier :
test -x ~/project/my_script.sh
Après avoir exécuté cette commande, vous ne verrez aucune sortie si le test est réussi (ce qui signifie que le fichier N'EST PAS exécutable). Si le fichier était exécutable, test -x
retournerait un statut de 0, qui est généralement interprété comme "vrai" ou "succès" en script shell, mais il n'imprime rien dans le terminal par défaut.
Pour voir le résultat de la commande test
, nous pouvons vérifier le statut de sortie de la commande précédente en utilisant $?
. Un statut de sortie de 0
signifie que le test était vrai (le fichier est exécutable), et un statut non nul (généralement 1
) signifie que le test était faux (le fichier n'est pas exécutable).
echo $?
Vous devriez voir une sortie de 1
, indiquant que my_script.sh
n'est actuellement pas exécutable.
Maintenant, rendons le fichier exécutable en utilisant la commande chmod
. chmod
est utilisé pour modifier les autorisations des fichiers et des répertoires. Nous utiliserons +x
pour ajouter l'autorisation d'exécution pour le propriétaire du fichier.
chmod +x ~/project/my_script.sh
Maintenant, testons à nouveau l'exécutabilité :
test -x ~/project/my_script.sh
Et vérifions le statut de sortie :
echo $?
Cette fois, la sortie devrait être 0
, confirmant que le fichier est maintenant exécutable.
Enfin, essayons d'exécuter le script pour voir la sortie :
~/project/my_script.sh
Vous devriez voir :
Hello from the script!
Cela confirme que vous avez réussi à rendre le fichier exécutable et à l'exécuter.