Récupérer le quoting des arguments

Marc Chantreux khatar at phear.org
Mon Dec 7 14:56:15 CET 2015


On Mon, Dec 07, 2015 at 12:28:38PM +0100, Daniel Caillibaud wrote:
> Bonjour,
> 
> Et avec zsh c'est possible ? 

dans zsh tu peux "surquoter" pour obtenir ca

for e ( this is a test )
    print ${(qq)e}

'this'
'is'
'a'
'test'

dans man ksh, je trouve

     ${name at Q} 

bash ... c'est quoi bash ?


> function foo() { for arg in $@; do echo $arg; done; }
> function bar() { echo $*; } 

au passage: fais attention 

$@ expand sans quotes et $@ expand avec. donc 

foo=( "this" "" "is" "it")

print -l $foo
this
is
it

print -l "${(@)foo}"
this

is
it 

en fait ca serait cool que tu expliques ce que tu veux faire parceque
d'autres astuces sont possibles. par exemple: quand je veux 
executer qqchose sur une machine distante, je pipe plutot que je ne
quote.

ssh machine ls

peut aussi s'écrire

ssh machine zsh <<< ls

du coup tu récupères tout ce qui est dispo avec les redirections
(heredocs...) 

cordialement,



-- 
Marc Chantreux (eiro on github and freenode)
http://eiro.github.com/
http://eiro.github.com/atom.xml
"Don't believe everything you read on the Internet"
    -- Abraham Lincoln


More information about the Shell mailing list