Ce que je demandais comme exemple, c'est un exemple de commande qui te pose problème avec ls
En effet, je souhaite lister le contenu d'un dossier et donc je lance le ls seul. Et s'il existe dedans un dossier nommé par exemple "truc - machin", le ls va me ramener plusieurs noms pour dire ensuite qu'il ne trouve pas les fichiers truc, - et machin.
Sans l'exemple on ne voit pas exactement de quoi tu parles. Là j'imagine que tu fais un ls truc - machin et que tu voudrais plutôt faire un ls "truc - machin" ou ls 'truc - machin' ou ls truc\ \-\ machin ... Mais finalement non, tu étais dans un script
Ce qui est bête, c'est qu'en ligne de commande du bash les noms sont automatiquement escapés et/ou entourés par des quotes. C'est dans le script que le ls les morcèle.
OK, comme mentionné par Cyrille, il te faut utiliser le couple find et xargs et ne pas boucler sur le retour de ls parce-que le for sur le résultat va prendre chaque morceau délimité par un blanc et ne sait pas distinguer chaque chemin séparément.
Met set +x avant le/la groupe/ligne d'appel de la boucle et set -x après et observe la sortie pour mieux comprendre la problématique.
"It is seldom that liberty of any kind is lost all at once." ― David Hume
[^] # Re: ls sans arguments
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au message cygwin noms de fichiers avec espaces et tirets. Évalué à 2.
Ce que je demandais comme exemple, c'est un exemple de commande qui te pose problème avec ls
Sans l'exemple on ne voit pas exactement de quoi tu parles. Là j'imagine que tu fais un
ls truc - machinet que tu voudrais plutôt faire unls "truc - machin"ouls 'truc - machin'ouls truc\ \-\ machin... Mais finalement non, tu étais dans un scriptOK, comme mentionné par Cyrille, il te faut utiliser le couple
findetxargset ne pas boucler sur le retour delsparce-que leforsur le résultat va prendre chaque morceau délimité par un blanc et ne sait pas distinguer chaque chemin séparément.Met
set +xavant le/la groupe/ligne d'appel de la boucle etset -xaprès et observe la sortie pour mieux comprendre la problématique."It is seldom that liberty of any kind is lost all at once." ― David Hume