Comment puis-je écrire une instruction if unix pour le script bash afin que l’utilisateur reçoive un message d’erreur lorsqu’il entre un nom de fichier non valide en argument?

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"