#1 Le 24/03/2008, à 12:25
- geenux
[resolu] [shell] Retransmettre les arguments.
Bonjour.
Aujourd'hui j'en ai eu marre de me faire avoir a chaque fois a oublier le & quand j'ouvre emacs.
J'ai donc décidé de me créer un lanceur.
J'aimerais pouvoir retransmettre tous les arguments qui lui sont passés.
Pour l'instant, j'ai fait
#!/bin/bash
emacs $1 $2 $3 $4 $5 $6 $7 $8 $9 &
mais c'est pas très propre le passage des paramètres...
Dernière modification par geenux (Le 24/03/2008, à 13:02)
Hors ligne
#2 Le 24/03/2008, à 12:54
- wblitz
Re : [resolu] [shell] Retransmettre les arguments.
#!/bin/bash
emacs $*
Dernière modification par wblitz (Le 24/03/2008, à 12:54)
"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs
Hors ligne
#3 Le 24/03/2008, à 13:01
- geenux
Re : [resolu] [shell] Retransmettre les arguments.
Merci j'étais sur d'avoir déjà vu un truc du genre quelque part mais je ne parvenait pas a remettre la main dessus.
Hors ligne
#4 Le 24/03/2008, à 14:57
- Alain.g
Re : [resolu] [shell] Retransmettre les arguments.
En bash la variable correcte pour cela est "$@"
extrait de :
http://abs.traduc.org/abs-4.2.01-fr/ch09.html#posparmslist
● $*
Tous les paramètres de position, vus comme un seul mot.
note : "$*" doit être entre guillemets.● $@
Identique à $*, mais chaque paramètre est une chaîne entre guillemets, c'est-à-dire que les paramètres sont passés de manière intacte, sans interprétation ou expansion. Ceci signifie, entre autres choses, que chaque paramètre dans la liste d'arguments est vu comme un mot séparé.
note: Bien sûr, "$@" doit être entre guillemets.
Dernière modification par Alain.g (Le 24/03/2008, à 15:00)
Xubuntu Karmic !
Hors ligne
#5 Le 24/03/2008, à 16:16
- Saito
Re : [resolu] [shell] Retransmettre les arguments.
Salut,
Aujourd'hui j'en ai eu marre de me faire avoir a chaque fois a oublier le & quand j'ouvre emacs.
Oublier le & pour passer un programme en arrière-plan n'est pas une fatalité
Lorsque tu oublies de le faire, il te suffit juste de presser «ctrl+z», puis de taper la commande bg pour passer emacs en arrière-plan.
|| Lay@Saito [~]| 16:10 |
$ emacs
[1]+ Stopped emacs <-- action du «ctrl+z» qui envoie le signal SIGSTOP
|| Lay@Saito [~]| 16:10 |
$ bg
[1]+ emacs & <-- la commande bg fait passer emacs en arrière-plan et lui envoie SIGCONT, pour qu'il continue son exécution
|| Lay@Saito [~]| 16:10 |
$
Il est vrai qu'il est plus rapide de ne pas oublier le &.
Aku-Soku-Zan_Shinsengumi
Hors ligne
#6 Le 24/03/2008, à 18:01
- geenux
Re : [resolu] [shell] Retransmettre les arguments.
Marche pas quand je fais ça. Il le réduit, mais je peut quand même pas taper de commandes dans la console. C'est pas grave avec mon script je n'aurait plus jamais ce blem.
Hors ligne