After Devuan 3 update ls output showed characters, that are not really in the directory listing. The reason is that “ls” draws quotes around filenames with spaces. This is a bug from my point of view, ls should never change the actual filenames. If a filename has quotes or double quotes it’s even weirder . “ls” adds the other quotes or even backslash quoting and closes and opens string within the string.
alex@workstation:~/test$ ls -l
total 0
-rw-r--r-- 1 alex alex 0 Jul 9 17:55 '"'\''withbothquotes'\''"'
-rw-r--r-- 1 alex alex 0 Jul 9 17:53 '"withdoublequotes"'
-rw-r--r-- 1 alex alex 0 Jul 9 17:54 '"withdoublequotesandquotes'\'''
-rw-r--r-- 1 alex alex 0 Jul 9 17:55 "'file'"
-rw-r--r-- 1 alex alex 0 Jul 9 17:52 'some file'
To fix this bug sysadmins like me have to set the following environment variable (eg. in /etc/profile, ~/.bashrc, etc)
export QUOTING_STYLE=literal
After this setting you get the real filenames back:
alex@workstation:~/ttd$ ls -l
total 0
-rw-r--r-- 1 alex alex 0 Jul 9 17:55 "'withbothquotes'"
-rw-r--r-- 1 alex alex 0 Jul 9 17:53 "withdoublequotes"
-rw-r--r-- 1 alex alex 0 Jul 9 17:54 "withdoublequotesandquotes'
-rw-r--r-- 1 alex alex 0 Jul 9 17:55 'file'
-rw-r--r-- 1 alex alex 0 Jul 9 17:52 some file