Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
problème commande at script shell
Envoyé par: Pilotwings

Voici mon problème, j'ai effectué un script shell contenant la cammande at. Dans ce script shell, un fichier .bashrc se crée à une certaine heure. Le programme fonctionne en enlevant la commande at (j'exécute le programme manuellement) mais pas avec at.
voici mon script shell :

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

Poste le Monday 22 December 2008 15:40:17
Répondre     Citer    
Re: problème commande at script shell

Bonjour Pilotwings,

Pourquoi ne pas simplement utiliser crontab pour programmer l'éxécution de ce script ?

Mais si tu tiens absolument à at, regarde
man at
/-f

Poste le Monday 22 December 2008 16:39:50
Répondre     Citer    
Re: problème commande at script shell
Envoyé par: chrisedion

Bonjour,

Je rencontre le même problème et ce que j'utilise at en mode interactif ou en spécifiant un nom de fichier avec -f

Je ne sais pas si ça peut aider mais je précise que j'ai ce problème sur deux pc différents (Debian etch & Ubuntu 8.10)


Poste le Monday 22 December 2008 22:14:33
Répondre     Citer    
Re: problème commande at script shell

Je ne sais pas quoi vous dire en ce qui me concerne ça fonctionne :
sh-3.2$ cat testat.sh
Citation

#!/bin/bash at -f test.at 06:38
sh-3.2$ cat test.at
Citation

touch test.at02
sh-3.2$ date +%T; ls test.* 06:38:15 test.at test.at02 testat.sh
...
?

Poste le Tuesday 23 December 2008 07:00:57
Répondre     Citer    
Re: problème commande at script shell
Envoyé par: chrisedion

Merci d'avoir pris le temps d'essayer

De mon côté je veux utiliser at dans un script pour lancer une application (en l'occurence vlc) à une heure précisée dans le script.

1) je crée un script
vi lance_vlc.sh
qui lance vlc, je le rend exécutable
chmod +x
je le teste, ça marche.

2) si pour tester avant de rédiger mon script final je fait:

chris@portable:~$ date
mardi 23 décembre 2008, 07:29:44 (UTC+0100)

chris@portable:~$ at -f /home/chris/lance_vlc.sh 07:30
warning: commands will be executed using /bin/sh
job 65 at Tue Dec 23 07:30:00 2008

chris@portable:~$ atq
65      Tue Dec 23 07:30:00 2008 a chris

chris@portable:~$ date
mardi 23 décembre 2008, 07:30:12 (UTC+0100)

chris@portable:~$ atq

chris@portable:~$

Il semble que le job ait été effectué mais pas de vlc ouvert.

J'ai beau relire le man de at je ne vois pas ce que je pourrais rajouter comme paramètre.

Au niveau des at.allow et at.deny c'est tout bon (at.allow n'existe pas et je n'apparaît pas dans at.deny)

Sinon voyez vous une méthode pour contourner le problème dans un script shell (peut-être une boucle qui l'heure toute les minutes et qui s'exécute au moment voulu...)?

Comment t'en sors tu de ton côté Pilotwings?

Poste le Tuesday 23 December 2008 07:47:27
Répondre     Citer    
Re: problème commande at script shell

Bonjour Chrisedion,

Je crois que ça tient davantage à vlc, qui a besoin d'une "fenêtre" dans laquelle s'éxécuter (en tout cas, pour ce que j'en ai testé de la lecture de morceaux de musique).
Hors, at éxécute les commandes en arrière plan, dans un sous shell, et donc sans affichage (tout comme cron).

Essaye, d'ailleurs, de faire un echo depuis at, ça ne fonctionne pas non plus !

...
?

Poste le Tuesday 23 December 2008 09:29:16
Répondre     Citer    
Re: problème commande at script shell
Envoyé par: chrisedion

C'est bien ce que je craignais, merci quand même.

Je vais essayer de trouver une alternative pour mon script. Et si jamais j'arrive à une solution qui ne relève pas trop du bricolage je la posterai ici, on sait jamais ça peut rendre service à quelqu'un...

@+

Poste le Tuesday 23 December 2008 19:34:42
Répondre     Citer    
Re: problème commande at script shell

Une pseudo solution serait peut-être de lancer vlc (ou tout autre application graphique) depuis at ou crontab avec les variables d'environnement DISPLAY et éventuellement XAUTHORITY explicitement affectées (à leur valeur obtenue depuis un xterm ou autre application X11 qui fonctionne). Assez souvent on aurait
DISPLAY=:0.0
XAUTHORITY=$HOME/.Xauthority
mais ce n'est pas toujours vrai. Par exemple, c'est faux pour une application graphique lançée via ssh -X


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Tuesday 23 December 2008 19:43:01
Répondre     Citer    
le scripte shelle qui peut remplacé la commande grep avec l appel de grep
Envoyé par: saidos

if test $# -lt 2
then
echo nombre d argument insuf
else
for i in $*
do
if test -e $i
then
if test -f $i
then
if test -r $i
then
grep $1 $i
else echo pas de droit de lecture pour le fich $i
fi
else
echo $i est un rep
fi
fi
done
fi

Poste le Sunday 17 May 2009 22:34:35
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
problème commande at script shell
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons