#1 Le 20/05/2015, à 22:50
- yaba64
[RESOLU]commande a éxécution différée
bonjour
voici ce que je tape pour exécuter une commande simple
mais il ne se passe rien comme vous pouvez le voir !
OrdinateurLinux@de@marc:~$ date
mercredi 20 mai 2015, 23:45:27 (UTC+0200)
OrdinateurLinux@de@marc:~$ at 23:48
warning: commands will be executed using /bin/sh
at> ll
at> <EOT>
job 3 at Wed May 20 23:48:00 2015
OrdinateurLinux@de@marc:~$ date
mercredi 20 mai 2015, 23:48:16 (UTC+0200)
OrdinateurLinux@de@marc:~$
Si quelqu'un sait pourquoi ??
merci beaucoup
Dernière modification par yaba64 (Le 21/05/2015, à 12:19)
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#2 Le 20/05/2015, à 23:33
- MicP
Re : [RESOLU]commande a éxécution différée
…commands will be executed using /bin/sh …
Or "ll" est un alias qui doit, très certainement, être définit dans ton fichier personnel ~/.bashrc.
Dans mon fichier ~/.bashrc, la ligne correspondante à la définition de cet alias est commentée :
michel@debG53SW:~$ cat .bashrc | grep "alias ll"
#alias ll='ls -l'
michel@debG53SW:~$
Le seul alias défini est :
michel@debG53SW:~$ alias
alias ls='ls --color=auto'
michel@debG53SW:~$
De plus, la commande lancée par at ne s'exécutera pas dans le terminal que tu utilise,
mais tu peux enregistrer le retour de la commande en redirigeant la sortie de la commande vers un fichier.
michel@debG53SW:~$ atq
michel@debG53SW:~$ ls -l /home/michel/Bureau/RetourDeAt.txt
ls: impossible d'accéder à /home/michel/Bureau/RetourDeAt.txt: Aucun fichier ou dossier de ce type
michel@debG53SW:~$ date
jeudi 21 mai 2015, 00:28:52 (UTC+0200)
michel@debG53SW:~$ at 00:30
warning: commands will be executed using /bin/sh
at> ls -l >/home/michel/Bureau/RetourDeAt.txt
at> <EOT>
job 9 at Thu May 21 00:30:00 2015
michel@debG53SW:~$ date
jeudi 21 mai 2015, 00:29:37 (UTC+0200)
michel@debG53SW:~$ ls -l /home/michel/Bureau/RetourDeAt.txt
ls: impossible d'accéder à /home/michel/Bureau/RetourDeAt.txt: Aucun fichier ou dossier de ce type
michel@debG53SW:~$ date
jeudi 21 mai 2015, 00:30:02 (UTC+0200)
michel@debG53SW:~$ ls -l /home/michel/Bureau/RetourDeAt.txt
-rw-r--r-- 1 michel michel 1263 mai 21 00:30 /home/michel/Bureau/RetourDeAt.txt
michel@debG53SW:~$
Dernière modification par MicP (Le 20/05/2015, à 23:37)
Hors ligne
#3 Le 21/05/2015, à 07:45
- yaba64
Re : [RESOLU]commande a éxécution différée
c'est un alias en effet mais le mien n'est pas commanté je les ai modifié et j'en ai créé plusieurs c'est pas le souci
je vais essayé de tout envoyé dans un fichier alors pour voir
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#4 Le 21/05/2015, à 07:56
- credenhill
Re : [RESOLU]commande a éxécution différée
hello
les alias ne sont exécutés qu'interactivement dans un terminal
pour envoyer en une seulle commande
echo "ls -l > /tmp/log" | at 23:48
Hors ligne
#5 Le 21/05/2015, à 07:57
- yaba64
Re : [RESOLU]commande a éxécution différée
le fichier a bien été créé mais il est vide ???
OrdinateurLinux@de@marc:~$ at 08:54
warning: commands will be executed using /bin/sh
at> ll >> /home/marc/logRetourAt.txt
at> <EOT>
job 5 at Thu May 21 08:54:00 2015
OrdinateurLinux@de@marc:~$ ls
Bureau Documents examples.desktop Images logRetourAt.txt Modèles Musique Public Téléchargements Vidéos
OrdinateurLinux@de@marc:~$ cat logRetourAt.txt
OrdinateurLinux@de@marc:~$
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#6 Le 21/05/2015, à 08:34
- yaba64
Re : [RESOLU]commande a éxécution différée
oui j'ai fait la meme chose sans utiliser d'alias mais le résultat est le meme
OrdinateurLinux@de@marc:~$ at 09:23
warning: commands will be executed using /bin/sh
at> ls -lArth 2>&1 /home/marc/logRetourAt.txt
at> <EOT>
job 7 at Thu May 21 09:23:00 2015
OrdinateurLinux@de@marc:~$ cat logRetourAt.txt
OrdinateurLinux@de@marc:~$
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#7 Le 21/05/2015, à 09:05
- credenhill
Re : [RESOLU]commande a éxécution différée
il manque un >
ls -lArth 2>&1 > /home/marc/logRetourAt.txt
Hors ligne
#8 Le 21/05/2015, à 10:18
- MicP
Re : [RESOLU]commande a éxécution différée
Pour information, et pour ajouter une précision à mon premier message :
…warning: commands will be executed using /bin/sh…
Comme l'annonce le premier message retourné par la commande at, l'interpréteur de commande sera /bin/sh et non /bin/bash
Hors ligne
#9 Le 21/05/2015, à 12:18
- yaba64
Re : [RESOLU]commande a éxécution différée
Alors en effet ça ne marche pas avec un alias
mais pour le reste ça ne marchait pas g fait uné erreur d'écriture tout simplement
faut l'écrire de cette maniere
ls -lArth >> /home/marc/logRetourAt.txt 2>&1
Merci de votre aide
Ordi : i7 3770K- CM DZ77GA 70K - Gigabyte GTX 1050ti - 16go Ram DDR3
Hors ligne
#10 Le 22/05/2015, à 10:48
- MicP
Re : [RESOLU]commande a éxécution différée
ls -lArth >> /home/marc/logRetourAt.txt 2>&1
">" va permettre de créer le fichier /home/marc/logRetourAt.txt avec la sortie de la commande ls -lArth
Si le fichier existait déjà, son contenu sera remplacé (écrasé) par la sortie de la commande ls -lArth
">>" va ajouter la sortie de la commande ls -lArth au contenu du fichier /home/marc/logRetourAt.txt s'il existait déjà (Sinon, il sera effectivement créé).
2>&1 permet de rediriger le flux standard d'erreur (stderr) vers le flux standard de sortie (stdout).
Je ne vois pas du tout l'intérêt de cette dernière redirection dans le cas de cette ligne de commande
=======
…en effet ça ne marche pas avec un alias…
Les alias sont définis par et pour bash, sh ne peux donc ni les voir ni les utiliser.
NOTE :
michel@debG53SW:~$ file /bin/sh
/bin/sh: symbolic link to dash
michel@debG53SW:~$
/bin/sh est un lien vers l'interpréteur de commandes /bin/dash (Debian Almquist shell)
Dernière modification par MicP (Le 22/05/2015, à 10:50)
Hors ligne