Re: bash et les expaces dans les noms de fichiers
Le vendredi 15 février 2013 à 00:26:42, mouss a écrit :
>[… | while read …]
> bien sûr, le défaut est que les actions sont dans un sous
> shell (elles sont sous la pipe;-p). donc ça marche pas si tu
> veux que ta commande aie une action sur ton shell courant.
> on s'en sort avec des echo foobar dans le fils, que le père
> (ou la mère?) interprète et exécute.
On peut éviter ça en Bash : enrober le `find` dans des
guillemets.
mkdir "a a" "b b"
for f in "`find . -type d`"; do
echo "$f"
done
→
.
./a a
./b b
Chaque ligne de la sortie est protégée, pas toute la sortie.
C’est le même comportement que pour "$@", sauf que pour $@,
c’est chaque $n, pas chaque ligne.
Attention ! C’est un bashisme. Dash p.ex., protège toute la
sortie → ". ./a a ./b b"…
--
Sylvain Sauvage
Reply to: