Script shell
-RoRo-
Messages postés
103
Statut
Membre
-
dindoun Messages postés 1047 Statut Membre -
dindoun Messages postés 1047 Statut Membre -
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 ! :-(
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:
- Script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
4 réponses
salut
/home est en drwxr-xr-x donc non autorisé à l'écriture pour lu'tilisateur que tu es : mv qssddq >/home est donc interdit
/home est en drwxr-xr-x donc non autorisé à l'écriture pour lu'tilisateur que tu es : mv qssddq >/home est donc interdit
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 !
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 !
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.
#!/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.