2012-07-11 11 views
8

C'è un modo rapido (ad esempio tramite una scorciatoia da tastiera, ecc.) Per fare riferimento all'output dell'output del comando precedente che ha scritto su stdout?Stdout di riferimento (ovvero output del comando precedente) rapidamente in bash?

Per esempio, se ho fatto questo:

which rails 

ed è tornato /usr/local/bin/rails e poi ho voluto aprire il file in TextMate, ho potuto ri-digitare l'output come questo:

mate /usr/local/bin/rails 

ma esiste un modo per fare rapidamente riferimento all'output senza doverlo ridigitare?

NOTA: Sono consapevole che posso fare solo mate $(which rails), ma sto specificatamente cercando di fare riferimento allo stdout.

+2

No, è andato per quanto riguarda Bash. Potrebbe essere disponibile nel buffer di scorrimento del terminale (ad esempio 'schermo'). –

+0

'compagno $ (!!)' forse. – ephemient

+0

!! ha solo l'input, non l'output, l'output non è memorizzato ovunque tranne nel buffer del terminale. – pizza

risposta

-1

Si può sempre eseguire il comando in backticks:

mate `which rails` 

Devo dire però che ci si sente un po ', uh, rischioso. Cosa succede se il PATH è stato manomesso in modo che ciò restituisca una versione diversa di binari rispetto a ciò di cui si ha realmente bisogno? Cosa succede se quale non restituisce nulla? Quindi, fai attenzione a chiudere tutti quei casi di errore, o evitali in qualche modo (ad esempio, leggendo il percorso delle guide da un file di configurazione e scrivendo uno strumento che costruisca quel file di configurazione per te).

4

utilizzare backticks con riferimento storia:

$ which rails 
/usr/local/bin/rails 
$ mate `!!` 

In realtà, il mio editore (uno script di partenza gvim) è alias a e, così sembra ancora più breve:

$ e `!!` 

e si può sempre associare a un tasto di scelta rapida (vedere la pagina man di bash per il comando bind e readline support).

Inoltre, se è possibile utilizzare i buffer di taglio (selezionare con il mouse in un'applicazione X), un tasto di scelta rapida per qualcosa di simile al di sotto potrebbe essere utile:

$ e $(xclip -out) 

Il comando inizierà l'editor come sopra con qualunque cosa si trovasse nel buffer di taglio sulla riga di comando. Dato che molti percorsi sono selezionabili con un semplice doppio clic, un percorso selezionato può essere modificato molto rapidamente.

Problemi correlati