grep -F é POSIX. fgrep não é. Use grep -F e deixe claro que seu script depende de um POSIX grep . Dependências claramente declaradas são tudo o que você precisa.
Eu acho que você poderia usar os dois ...
if command -v fgrep
then _grepf(){ fgrep "$@"; }
else _grepf(){ grep -F "$@"; }
fi >/dev/null
... mas fazer coisas assim é hacky e geralmente uma perda de tempo. Defina um nível mínimo de conformidade em sua lista de dependências e permita que o padrão manipule o restante.