you are viewing a single comment's thread
view the rest of the comments
[–] 5 points 4 months ago (5 children)

Fish is the command line shell your using (similar to bash). Usaslly the $ symbol perceeds a variable name, hence the error. Do you have a folder with a $ in the name?

  • source
  • hideshow 5 child comments
  • [–] [S] 3 points 4 months ago (3 children)

    'folder'$'\003'

    That's the name of the folder.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 8 points 4 months ago

    What does ls show?

    you can escape special charcters with \ something like \'folder\'\$\'\\003\' might work

    be careful with rm -rf as you might delete your entire disk if done badly. use some other command to test if it targets the correct directory like ls \'folder\'\$\'\\003\'

  • source
  • parent
  • [–] 5 points 4 months ago*

    Yep as others have noted put a \ in front of each special character. The \ tells the system to treat the following character as a alphanumeric character in the string and not as a operator or a command. Since ', $ and \ are all special characters you will need a \ just before each when typing this name. Also as mentioned do this with a benign command like ls first to make sure your only acting on that specific directory or you might have a bad day.

    Edit: How the heck did you get some of those folder names? Looks like a script with incorrect variable/macro substitution made these.

  • source
  • parent
  • [–] 4 points 4 months ago

    ‘folder’$‘\003’

    Oh that is unpleasantly fiddly to insert all the backslashes to escape the bits. Testing here, (fiddly to even make a dir called that, lol), for fun, instead of just pressing tab, ... is it just the $ and the \ you need to escape? and the ' are fine? Results here are inconclusive, not sure I managed to make a file with the same name, it showing here with extra outer '.

    Probably easier to just interactively.... but yeah, in case needing to have it written for a script... probably easiest still to just press tab, to see how it arranges the escape syntax, and paste that into your script. ;)

    The fi in fish is friendly interactive, after all.

  • source
  • parent