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 !d
tuo sed
comando, 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.