Après une mise à niveau vers 18.04, à partir de 16.04, tous les noms de fichiers avec des espaces s'affichent comme 'file name'
. Auparavant, c'était simplement file name
. Les noms de fichiers sans espace s'affichent normalement:
$ ls
bar 'foo bar'
Bien que cela n'affecte en rien la fonctionnalité, je trouve cela encombrant visuellement.
J'utilise bash
comme coque.
Comment puis-je supprimer l' ''
affichage autour des noms de fichiers avec des espaces?
command-line
18.04
ls
vidarlo
la source
la source
ls
pour gérer des fichiers dans vos scripts, vous vous trompez. Pourquoi vous ne devriez pas analyser la sortie dels
et pourquoi pas analyserls
(et que faire à la place)?ls
auteur aborde au moins certains des problèmes. Sachant que l'auteur est activement impliqué dans Stack Exchange (le lien dans ma réponse), on pourrait plus facilement suggérer de futures améliorations. Ensuite, les commentaires positifs des autres utilisateurs encourageraient l'auteur à mettre en œuvre des suggestions.Réponses:
Ce
ls
changement de comportement date de 2016 mais fait enfin son chemin dans Ubuntu.Pour récupérer l'ancien comportement, utilisez
ls -N
.Vous pouvez éventuellement utiliser une variable d'environnement:
Faites-en un alias ou définissez-le
export QUOTING_STYLE=literal
dans votre~/.bashrc
pour obtenir l'ancien comportement.Vous pouvez lire le lien ci-dessus pour plus de détails, y compris l'historique de quand, où, pourquoi et comment tout cela a été créé. Il y a pas mal de commentaires sous l' auteur de ls changes où il justifie le nouveau comportement:
la source
C'est
ls
qui cite la sortie, exécutez:pour obtenir la sortie sans aucune citation.
Alias si vous le souhaitez:
la source