Compte tenu de la variable chaîne suivantePassez une chaîne avec des espaces comme argument à la fonction Bash
VAR="foo bar"
J'ai besoin d'être passé à une fonction bash, et les accès, comme d'habitude, par l'intermédiaire $1
. Jusqu'à présent, je ne l'ai pas été en mesure de comprendre comment le faire:
#!/bin/bash
function testfn(){
echo "in function: $1"
}
VAR="foo bar"
echo "desired output is:"
echo "$(testfn 'foo bar')"
echo "Now, what about a version with \$VAR?"
echo "Note, by the way, that the following doesn't do the right thing:"
echo $(testfn "foo bar") #prints: "in function: foo bar"
Tout droit. Je supposais que les doubles guillemets imbriqués ne devraient jamais être utilisés. Cependant, 'echo" (testfn "$ VAR") "' fonctionne très bien. –