Hacker News new | ask | show | jobs
by IronBacon 1804 days ago
On 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...
2 comments

Perhaps 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).

A 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