Al menos puede guardar las opciones parcialmente en una variable:
opts=$(echo --{ignore-case,word-regexp,count,exclude='"sys*.*"'})
Las pruebas son importantes porque el enmascaramiento puede ser difícil:
echo $opts
--ignore-case --word-regexp --count --exclude="sys*"
grep $opts bytes *.log
Dado que hay múltiples alternativas, como usar el historial, usar un alias, usar una función, no hay un caso de uso obvio en el que pueda pensar. Rara vez se comparte una opción compleja entre diferentes programas, por lo que para una solución ad-hoc para el shell interactivo, el alias parece una mejor manera:
alias cgrep='grep --ignore-case --word-regexp --count --exclude="sys*"'
cgrep bytes *.log
Su muestra
VAR=rsync -avz --{partial,stats,delete,exclude=".*"}
no puede funcionar, porque la tarea es endet en el primer espacio en blanco. Tienes que enmascarar los espacios en blanco:
VAR='rsync -avz --{partial,stats,delete,exclude=".*"}'
una cosa bastante peligrosa para las pruebas, con esa opción de eliminación, ¿no es así? Como las opciones pueden contener nuevamente "," y comillas simples, el enmascaramiento puede ser difícil muy pronto. Iría por un alias o confiaría en la historia.
Se puede almacenar un alias en el archivo ~ / .bashrc para su uso continuo en varias sesiones. Las funciones también se pueden almacenar en el bashrc, pero solo las necesita, si desea manejar los parámetros, pasados a la función para ser evaluados allí.