02/10/2020

TIL this trick, [via Pascal Hirsch](https://twitter.com/phphys/status/1311727268398465029) on Twitter. Enter a line of Bash starting with a `#` comment, then run `!:q` on the next line to see what that would be with proper Bash escaping applied. “` bash-3.2…

TIL this trick, via Pascal Hirsch on Twitter. Enter a line of Bash starting with a # comment, then run !:q on the next line to see what that would be with proper Bash escaping applied.
bash-3.2$ # This string ‘has single’ “and double” quotes and a $
bash-3.2$ !:q
‘# This string ‘\”has single’\” “and double” quotes and a $’
bash: # This string ‘has single’ “and double” quotes and a $: command not found
How does this work? James Coglan explains:
The ! character begins a history expansion; !string produces the last command beginning with string, and :q is a modifier that quotes the result; so I’m guessing this is equivalent to !string where string is “”, so it produces the most recent command, just like !! does
Created 2020-10-01T13:32:02-07:00, updated 2020-10-01T13:41:23-07:00 · History · Edit