Puoi almeno salvare parzialmente le opzioni in una variabile:
opts=$(echo --{ignore-case,word-regexp,count,exclude='"sys*.*"'})
Il test è importante perché il mascheramento può essere difficile:
echo $opts
--ignore-case --word-regexp --count --exclude="sys*"
grep $opts bytes *.log
Dato che ci sono più alternative, come usare la cronologia, usare un alias, usare una funzione, non c'è un caso d'uso ovvio a cui possa pensare. Raramente esiste una complessa opzione di condivisione tra diversi programmi, quindi per una soluzione ad hoc per la shell interattiva, l'aliasing sembra un modo migliore:
alias cgrep='grep --ignore-case --word-regexp --count --exclude="sys*"'
cgrep bytes *.log
Il tuo campione
VAR=rsync -avz --{partial,stats,delete,exclude=".*"}
non può funzionare, perché l'assegnazione è terminata al primo spazio vuoto. Devi mascherare gli spazi vuoti:
VAR='rsync -avz --{partial,stats,delete,exclude=".*"}'
una cosa piuttosto pericolosa per i test, con quell'opzione --delete, non è vero? Poiché le opzioni possono contenere di nuovo "," e virgolette singole, il mascheramento può diventare difficile molto presto. Vorrei fare un pseudonimo o fare affidamento sulla storia.
Un alias può essere archiviato nel file ~ / .bashrc per un uso continuo su più sessioni. Le funzioni possono essere memorizzate anche nel bashrc, ma sono necessarie solo se si desidera gestire i parametri, passati nella funzione per essere valutati al loro interno.