What is the meaning of !#:3?

ack, bash, linux, shell, zsh

Solution

In bash or zsh `!` denotes a history command (not a shebang line which is `#!`, and has nothing to do with bash or zsh as such).

`!#` means the entire command line typed so far, and `:3` selects the third word, in this case `~/bin/ack`.

So the command is equivalent to:

 curl http://beyondgrep.com/ack-2.02-single-file > ~/bin/ack && chmod 0755 ~/bin/ack

Problem

``` curl http://beyondgrep.com/ack-2.02-single-file > ~/bin/ack && chmod 0755 !#:3 ``` What is the meaning of `!#:3`, from ack installation guide?

Original source

Related problems