[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: