Esci da virgoletta singola in comando in alias Terminale

2

Sto lavorando con SVN per il controllo della versione, e ogni volta che sono pronto a commettere alcune modifiche, devo metterle in scena tutte con il seguente comando:

svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add

Come puoi vedere, è piuttosto complicato e quindi ho cercato di creare un alias per questo comando.

Quando ho aperto ~/.bash_profile , ho aggiunto la seguente riga:

alias svn grab='svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add'

Tuttavia, ci sono alcune virgolette singole e doppie nel comando originale, quindi l'alias non riesce a essere creato (ok, viene creato parzialmente, e non posso usarlo).

Come faccio a sfuggire alle virgolette singole nel comando, quindi l'alias funzionerà?

    
posta Rvervuurt 22.12.2014 - 14:26
fonte

1 risposta

5

Le doppie virgolette e l'escape di tutte le " e $ dovrebbero funzionare correttamente:

 alias svngrab="'svn status | grep -v \"^.[ \t]*\..*\" | grep \"^?\" | awk '{print \}' | xargs svn add'"

Eviterei anche "svn grab", quindi magari svngrab o svn_grab.

    
risposta data 22.12.2014 - 14:39
fonte

Leggi altre domande sui tag