Script shell

Fermé
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 - 21 déc. 2008 à 23:13
dindoun Messages postés 1028 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 17 février 2017 - 15 janv. 2009 à 17:47
Bonjour, j'ai un gros souçis pour exécuter le programme à une certaine heure mais aussi envoyer mon .bashrc vers le home.
Voici mon script :


#!/bin/bash
echo 'nous sommes le : '`date`
echo "Saisissez l'heure : "
read heure
echo "Saisissez les minutes : "
read minutes
echo "Tapez votre ligne de message : "
read message

touch $heure$minutes.sh

echo "#!/bin/bash" >>$heure$minutes.sh
echo "at $heure:$minutes" >>$heure$minutes.sh
echo "rm .bashrc" >>$heure$minutes.sh
echo "touch .bashrc" >>$heure$minutes.sh
echo "echo ' " >>$heure$minutes.sh
echo "$message" >>$heure$minutes.sh
echo " ' >>.bashrc " >>$heure$minutes.sh
echo " mv .bashrc /home" >>$heure$minutes.sh
echo "exit 0" >>$heure$minutes.sh
chmod 755 $heure$minutes.sh

touch $heure$minutes.txt
echo "$message" >>$heure$minutes.txt
chmod 755 $heure$minutes.txt

exit 0

Lorsque j'exécute mon programme, voilà ce que j'obtiens (aucun problème pour l'instant) :

nous sommes le : dimanche 21 décembre 2008, 23:00:34 (UTC+0100)
Saisissez l'heure :
11
Saisissez les minutes :
00
Tapez votre ligne de message :
message

ensuite, un fichier va se créer sous le nom de 1100.sh et 1100.txt, mon fichier 1100
.sh contient :

#!/bin/bash
at 11:00
rm .bashrc
touch .bashrc
echo '
message
' >>.bashrc
mv .bashrc /home
exit 0

ALors, non seulement mon script ne veut pas s'exécuter à l'heure prévut, et le fichier caché .basch ne veut pas être déplacé vers le /home, tout en sachant que j'ai exécuté le programme 1100.sh manuellement en enlevant dans le script at 11:00.

Aidez moi SVP, je galère énormemment ! :-(
A voir également:

4 réponses

dindoun Messages postés 1028 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 17 février 2017 135
22 déc. 2008 à 08:57
salut
/home est en drwxr-xr-x donc non autorisé à l'écriture pour lu'tilisateur que tu es : mv qssddq >/home est donc interdit
0
jeanbi Messages postés 15118 Date d'inscription samedi 9 décembre 2006 Statut Contributeur Dernière intervention 6 février 2023 2 181
22 déc. 2008 à 09:16
bonjour,
c'est /home/tonuser le bon chemin
a+
0
new burhan Messages postés 1 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 22 décembre 2008
22 déc. 2008 à 11:10
Bonjour,
De ma part, il faut modifier les droits d'accés à ton fichier.
tu peux essayer : chmod u=+ [nom_fichier]
si ça marchait pas, dis le moi stp pour chercher une autre solution !
0
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 1
22 déc. 2008 à 11:44
Voici la modification que j'ai apporté grâce à votre aide, merci ^^ :
#!/bin/bash
at 11:11
rm /home/rodolphe/.bashrc
touch .bashrc
echo '
message
' >>.bashrc
mv .bashrc /home/rodolphe
exit 0

Ici, j'ai encore exécuté le script manuellement ( j'ai enlevé at 11:11 car ça ne fonctionne pas). Ce script supprime .bashrc dans /home/rodolphe ( si il y en a 1) et il en crée un autre à la même place.

Maintenant, il me reste le problème de at .....:...... que je n'arrive pas à appliquer.
Par exemple, si mon message doit d'exécuter à 11h11 et que mon terminal n'est pas ouvert à cette heure là, le message s'affiche tout de même lors de l'ouverture du terminal.
0
dindoun Messages postés 1028 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 17 février 2017 135
15 janv. 2009 à 17:47
salut
at utilise le demon atd qui tourne indépendamment du terminal, c'est donc normal et probablement pas gérable
0