Quelques commentaires:
* C'est bien pour le code entre balises [ CODE ] et [ /CODE ]. Attention encore à l'indentation.
Je n'ai pas compris...
Mettre du code entre balises permet de mieux lire.
Ici du code entre balises
* Si réponse NON, les touch sont inutiles.
Si, car au préalable, l'utilisateur aura supprimé son répondeur, donc le touch me permet de générer les fichiers qui seront incrémentés à la suite du script.
Le mot incrémenter veut dire ajouter une valeur numérique à une variable. Ici, j'imagine que tu veux dire mettre à jour un fichier. Il n'est nul besoin de créer un fichier avant d'y ajouter quelque chose: s'il n'existe pas encore, il est créé dans la foulée.
* Je ne comprends pas la ligne echo "user, "... Que fait la commande >vacation? Et que veux-tu obtenir au final?
En fait, je veux rajouter cette ligne au fichier .forward. La commande vacation fera, dans ce fichier, son boulot de répondeur (vacation est un logiciel de réponse automatique sur les serveurs de mails, entre autre)
Dans le fichier ~/.forward, il n'y a que des adresses e-mail. Or, tu as déjà l'adresse en mémoire (variable EMAIL), donc il suffit normalement d'ajouter le contenu de la variable à la fin du fichier de la manière suivante.
Tu remarqueras au passage le tilde ~ qui donne l'emplacement du fichier (home directory de l'utilisateur). Si tu ne fais pas ça, le fichier .forward se trouvera dans le répertoire courant, qui peut être n'importe lequel.
* La variable SUBJECT est vide.
Oui, car je l'incrémente à la main (cela sera géré par vacation)
Ici, tu initialises la variable SUBJECT.
* Les commandes echo "" sont inutiles.
Elles me permettent d'incrémenter les fichiers vides.
Et ici tu mets à jour un fichier. Néanmoins, pour mettre à jour un fichier, il faut son nom. echo "" ne fait qu'afficher un retour à la ligne dans la fenêtre terminale. Par contre, echo "" >> fichier ajoute un retour à la ligne dans fichier.
Mon but étant de partir ou l'utilisateur n'a pas de répondre.
???
Petite question utilie, aurais-tu un livre à me recommander pour ce type de programmation que je suis amené à utiliser plus régulièrement?
La programmation shell est un peu spéciale comparée aux autres langages (C, C++, Ada, Java, Pascal, Eiffel, Fortran, Lisp...). En plus il existe plusieurs dialectes: bash, csh, tcsh, ksh, zsh et certainement d'autres. Pour Linux, le principal est bash, ce devrait être le premier à apprendre. Si tu lis l'anglais, je ne peux que te conseiller l'original: http://www.gnu.org/software/bash/manual/
Partager