Bash Parameter Expansions (!$, etc) Table of contents
Bash is used everywhere. I prefer to only use bash, with minimal bashrc changes so when using it on a different server I have the same setup.
Here are some useful expansions that you can use in Bash. They're quite common, you probably know them already, and this won't be a massive post.
!$
is the last parameter of the previous command
Use !$
to get the last param of the most recent command.
For example if you did cp /home/file.txt /new_dir/file_new_location.txt
, then you could delete the file you just created (file_new_location.txt) by doing rm !$
. This is a huge time saver.
!*
are all of the parameters of the previous command
Use !*
for all of the params from the previous command.
For example, if you did echo file1 file2
, you could then do cp !*
to copy file1 to file2.
!!:n
is the nth param of the previous command
And if you want a specific param (n), then use !!:n
, where n is the number (1 = the first param).
For example if you did echo param1 param2 param3 param4
, then did echo !!:3
in bash, it would echo param3.
Comments →Bash Parameter Expansions (!$, etc)