Você pode pelo menos salvar as opções parcialmente em uma variável:
opts=$(echo --{ignore-case,word-regexp,count,exclude='"sys*.*"'})
O teste é importante, porque o mascaramento pode ser difícil:
echo $opts
--ignore-case --word-regexp --count --exclude="sys*"
grep $opts bytes *.log
Como existem várias alternativas, como usar o histórico, usar um alias, usar uma função, não há nenhum caso de uso óbvio em que eu possa pensar. Raramente existe um compartilhamento de opções complexo entre programas diferentes; portanto, para uma solução ad-hoc para o shell interativo, o alias parece uma maneira melhor:
alias cgrep='grep --ignore-case --word-regexp --count --exclude="sys*"'
cgrep bytes *.log
Sua amostra
VAR=rsync -avz --{partial,stats,delete,exclude=".*"}
não pode funcionar, porque a atribuição é finalizada no primeiro espaço em branco. Você tem que mascarar os espaços em branco:
VAR='rsync -avz --{partial,stats,delete,exclude=".*"}'
uma coisa bastante perigosa para testar, com essa opção --delete, não é? Como as opções podem conter novamente "," e aspas simples, o mascaramento pode ficar difícil muito em breve. Eu iria procurar um apelido ou confiar na história.
Um alias pode ser armazenado no arquivo ~ / .bashrc para uso contínuo em várias sessões. As funções também podem ser armazenadas no bashrc, mas você só precisa delas, se quiser manipular parâmetros, passadas para a função a ser avaliada nela.