En bash se pueden escapar argumentos que contengan espacios en blanco.compilar listas de argumentos que contengan espacios en blanco
foo "a string"
Esto también funciona para los argumentos de un comando o función:
bar() {
foo "[email protected]"
}
bar "a string"
Hasta aquí todo bien, pero lo que si quiero manipular los argumentos antes de llamar foo
?
Esto no funciona:
bar() {
for arg in "[email protected]"
do
args="$args \"prefix $arg\""
done
# Everything looks good ...
echo $args
# ... but it isn't.
foo $args
# foo "$args" would just be silly
}
bar a b c
Entonces, ¿cómo construir listas de argumentos cuando los argumentos contienen espacios en blanco?
maldición, debería haber llegado antes, podría haberte ahorrado el trabajo :) – hop