2 ms·
Prefixing a command with a backslash is equivalent to this. "\ls" is the same as "command ls" and will run ls ignoring any functions or aliases that normally r
by LeoPanthera 5y ago
Prefixing a command with a backslash is equivalent to this.
"\ls" is the same as "command ls" and will run ls ignoring any functions or aliases that normally replace it.
- forty 5y ago\ls and 'ls' works for avoiding aliases, but from a quick try on termux, doesn't seem to ignore functions.
- mkl 5y agoSame in bash on Linux.
- IronBacon 5y agoOn Zsh there is also '=' as prefix, at least that's what I normally use, don't recall if it's a default setting or the result of a local configuration...
- JNRowe 5y agoPerhaps you already know, but… The `=` prefix in zsh works, but is a different beast entirely. The backslash trick will simply stop the command parser from expanding the alias, while the equals prefix will expand to the full path of the given command at parsing time. For example: $ print -l =cat =bat /usr/bin/cat /usr/bin/bat While it is a trivial difference in your use case, it can be useful in itself; You could use `ldd =zsh` instead of needing to provide the full path, or `dpkg -S =make` to search for /usr/bin/make(or whatever) instead of returning results of files with the string make anywhere in the name. It is a default setting for the expansion system(only when in zsh mode), but can be disabled with `unsetopt equals` if you dislike it. Gory details in zshexpn(1) and zshoptions(1).
- maddyboo 5y agoA cool thing about = is it expands to the full path of the executable, so I often use it to edit the shell scripts that are in my PATH, e.g. vim =audioctl Expands to vim /home/myusername/bin/audioctl