Para responder diretamente à pergunta, os grupos agrupam os comandos, portanto:
rsync --help >> /dev/null 2>&1 || { printf "%s\n" "rsync not found, exiting."; exit 1; }
Como uma sugestão para fazer o que você quer, mas de outra forma:
#!/usr/bin/env bash
for c in rsync ls doesnotexist othercommand grep
do
if ! type "$c" &> /dev/null
then
printf "$c not found, exiting\n"
exit 1
fi
done
E se você quiser emular o die
do perl no shell:
function die {
printf "%s\n" "$@" >&2
exit 1
}
# ...
if ! type "$c" &> /dev/null
then
die "$c not found, exiting"
fi
# ...