Risposte:
Usare la barra rovesciata \per sfuggire al tuo !dovrebbe funzionare.
alias svtr="svn status |grep -v .jasper$ |cut -d ' ' -f8 |sed '/.*\..*/\!d' |xargs ls -altr --color=auto"
alias svtr
alias svtr='svn status |grep -v .jasper$ |cut -d '\'' '\'' -f8 |sed '\''/.*\..*/\!d'\'' |xargs ls -altr --color=auto'
In realtà, questo elimina solo l'errore, perché all'interno ""della shell cerca di interpretare !.
potresti voler ripristinare le virgolette (ad esempio, utilizzare la virgoletta singola per definire l'alias e utilizzare la virgoletta doppia all'interno del comando aliasato e, se necessario, evitare le virgolette singole.
Questo è il !dtuo sedcomando, perché !è il carattere di espansione della cronologia di Bash. Disattiva temporaneamente l'espansione della cronologia, in questo modo:
set -H
alias svtr="..."
set +H
Questo dovrebbe farlo.