Récupérer le quoting des arguments

Daniel Caillibaud ml at lairdutemps.org
Mon Dec 7 12:28:38 CET 2015


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)


More information about the Shell mailing list