No manual do Bash:
!?string[?]
Refer to the most recent command preceding the current position
in the history list containing string. The trailing ? may be
omitted if string is followed immediately by a newline.
O [?]
significa que o ?
é opcional. Você encontrará esta convenção usada na maioria das seções de sinopses nos manuais on-line, por exemplo
NAME
ls – list directory contents
SYNOPSIS
ls [-1AaCcdFfgHhikLlmnopqRrSsTtux] [file ...]