Bonjour,
Encore moi ;-)
Comment récupérer dans un script bash l'argument --arg="foo bar" avec ses " ?
function foo() { for arg in $@; do echo $arg; done; }
function bar() { echo $*; }
$> foo toto titi="tutu tata"
toto
titi=tutu
tata
$> bar toto titi="tutu tata"
toto titi=tutu tata
Y'a pas moyen de récupérer les " ?
J'ai fouillé un peu (man bash compris) mais pas l'impression que ce soit possible.
J'ai bien des workaround en réécrivant autrement l'appel, mais je suis pas maître de
l'appelant ni de l'environnement, c'est pour que mon script du post précédent fonctionne avec un
appel comme
benice_rsync … --rsh='/usr/bin/ssh -i /path/to/id_rsa' …
pour lancer en arrière plan
rsync … --rsh='/usr/bin/ssh -i /path/to/id_rsa' …
Et avec zsh c'est possible ?
Merci
--
Daniel
L'homme est un être raisonnable, mais les hommes le sont-ils ?
Raymond Aron (Dimensions de la conscience historique)
Bonjour,
Cette liste existe toujours ?
Si oui, je cherche un moyen de récupérer le code de sortie d'une commande que je fais tourner
en arrière plan (avec bash), pour sortir de mon script avec ce code.
J'ai essayé
$commande && exit $? &
mais ça sort du sous-shell, pas du script (logique), avec
function end() { exit $1; }
$commande && end $? &
c'est pas mieux, ni avec
export sortie=12
$commande && sortie=$? &
(celui-là me parait logique aussi, la valeur est modifiée dans le sous-shell mais remonte pas)
trap ne choppe que les signaux du shell courant, wait m'arrange pas parce que je veux pas
m'arrêter (j'ai un truc qui tourne en parallèle pour surveiller $commande), comment remonter
mon code de sortie au shell parent ?
Merci
--
Daniel
Pourquoi lave-t-on une injure alors qu'on essuie un affront ?
Alphonse Allais