Essa é a bash
Expansão do Histórico que você está enfrentando:
!string
Refer to the most recent command preceding the current position
in the history list starting with string.
Como eu explico aqui , a expansão do histórico é feita entre aspas duplas, portanto, restam duas maneiras de citar !
:
var=\!f\ then # either use <b>only</b> backslash
var='!f then' # or just single quotes