Je crée ma propre commande personnalisée pour unix qui rend tous les arguments saisis exécutables. Au moment où l’utilisateur entre un nom de fichier incorrect, il recevra le message d’erreur par défaut, à savoir:
chmod: impossible d’accéder à ‘thisisnotafile.txt’: aucun fichier ou répertoire de ce type
Comment pourrais-je implémenter une instruction if de sorte que si l’utilisateur saisit un nom de fichier non valide comme argument, il obtiendrait un message d’erreur que je définirais dans l’instruction if, par exemple, entrez un nom de fichier valide plutôt que celui par défaut.
Merci.
simple (syntaxe ancienne):
if [ ! -f "$the_file" ] ; then echo "$the_file: does not exist / not such file" exit 1 fi chmod u+w "$the_file"
Pour demander à l’utilisateur un fichier valide, vous pouvez le faire en boucle:
printf "enter a file: " while [ 1 ] do read -r the_file if [ ! -f "$the_file" ] ; then echo "$the_file: does not exist / not such file" else break fi done chmod u+w "$the_file"