Search code examples
linuxbashshellzshack

What is the meaning of !#:3?


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

What is the meaning of !#:3, from ack installation guide?


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