Single quotation marks suddenly appear around file and directory names
I installed some software and I think afterwards I was navigating through CLI and noticed that some directories or some files in some directories had single quotation marks around the names. They don't appear in the GUI. How do I get rid of them? Do I have to use a recursive command to delete the quotation marks for the entire file system?
I've actually had this problem a few times in the past but cannot recall why they happen nor what the solution was.
You are viewing a single comment
Thanks. The export command got rid of the quotation marks but I still have an issue where when I cd into one of the directories that had quotation marks (a directory with two words in the name) there is a backslash after the first word and a forward slash at the end of the file name when I use tab to complete the rest of the file name.
Add-on: you really don't need to get rid of the quotes. It's a very reasonable behavior. You just need to learn/understand what they mean.
The backslash escapes the space because it would otherwise denote a seperator to the next argument of the command.
ls a b c
means invoke ls with the three arguments a,b, and c.ls 'a b c'
orls a\ b\ c
means invoke ls with one argument "a b c". That behavior is universal for pretty much all unix/linux shells (ie bash).Thanks for explaining. How do I go about editing the bashrc file to add the export line? I am still relatively new to linux and the file has a warning about making changes unless I know what I'm doing.
Just paste it into the end of the file, save and close it, then run "source ~/.bashrc" in the terminal to force bash to read the new settings (or close the terminal and open it again).
Heed the warning ;-)
Jk. It's not black magic. Just do as AlpacaChariot said. You might want to read up on it a bit https://www.shell-tips.com/bash/environment-variables/
That's to escape the space, so that it doesn't register as a separate keyword in whatever command you're running.
For paths/filenames with spaces, you must escape all spaces with the backslash, or use single/double quotes around it. Single quotes also prevent stuff like interpreting $ etc etc as a reference to a variable
The backslash is escaping the space, and the forward slash is just how tab complete works, because it's a directory, and you might be wanting to add more to go further down the directory tree
I am impressed nobody called OP a noob and told him to "RTFM". Good job y'all! Keep being a positive force.
Somewhat surprisingly the fediverse has been much kinder for Linux learners than my experience everywhere else online the last decade :)
That is normal with tab completion, since spaces will be seen as other commands so the slash escapes the space character