59
Single quotation marks suddenly appear around file and directory names
(discuss.tchncs.de)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
It's certainly no bad habit to handle spaces in scripts preemptively, and obviously they do occur in the wild. Quotes from ls output do not get piped to other commands. I had to look that up myself right now, because it has been quite a while since it mattered to me.
Looking through some scripts I wrote back in the day, I seem to like to use
ls -1
in scripts. I guess that reduces ambiguity on what the separator is.Using ls -1 certainly helps if you are stripping content from the screen, but in recent years I have always found that using ls within a bash script (like if you use FILES=$((ls)) to get an array) returns a proper list correctly separated. It would not surprise me though if that is a feature of bash 4, I do remember we used to have to use the read command to get the appropriate output. So yeah, if all bash commands were simultaneously updated to strip those single quotes at the same time that it was added to the output of ls then it's probably not an issue. I still find it a completely useless annoyance just seeing them in the output and having to add flags to all of my desktops and servers to strip out content that I never asked for. If somebody wanted this then why not let them add a flag to their machines to include the feature?