Spyke

$ indicates that the string following is an env variable, but you just have a closing quote, so bash is confused.

If you want the literal character $ in your command, you must escape it: \$

Edit: afaik my answer does not change based on the fact that this is fish instead of bash or zsh. The $ is outside of the single quotes, and is thus being interpreted as an env var anchor.

5

Of course. It could work totally different from bash.

To be fair I saw some cool fish stuff and thought about using it but when maintaining a few thousand servers with bash its not viable to load an alternative shell to all of them.

1

In that case, I think you want

rm -rf "'folder'\$'\\003'"

Note the double escape before 003, which will render to the character literal \

Alternatively, start typing

rm -rf \'fo

And then hit tab until fish autocompletes the directory you want to kill, and run it.

Side note: i would absolutely not tolerate directories named like that lol

8
hemkoreply
lemmy.dbzer0.com

Is this some school task...? Why is there a folder with such a name 😅

4
thelemmy.club

This syntax works for me on Bash and Zsh. Your shell might have a different way of writing escape sequences.

2

They are not identical, but more they are quite compatible, most of Bash syntax and built-in commands work on Zsh as well. From what I’ve heard, Fish differs from them a lot. I use primarily Zsh, but sometimes run Bash if I need it for something (before ** started working on Zsh, I used Bash globstar when I needed it, for example).

1

You reached the end

What is it saying in my terminal ? | Spyke