Advancing in the Bash Shell
I don't use !!, or !$, because I prefer to see what command is being executed <i>before</i> I press enter.  For the same reason, I will <i>never</i> use !word.  But that's not a problem, because as others have noted bash makes it easy to not have to fall back to these.<p>Alt-. will generally add the prior last argument into the current command, and repeated presses will cycle through previous commands.<p>Ctrl-r will dynamically update to show you the prior command matched as you start typing afterwards, so you can confirm it's correct.<p>Both are essential if you want to reuse prior commands but either can't trust that you were the last person using the shell, or don't want a typo to ruin your day, and possibly many other people's day as well.  That is, if you're a sysadmin using the automatic variants, I don't want you anywhere near systems I rely on, I want you far away.  Perhaps working for a competitor.