sto usando Git Bash v1.8.1, con un paio di alias (per le prove):Git parametri alias aggiungendo per porre fine
[alias]
ekko = !echo $1 && echo $1
ekko2 = !sh -c 'echo $1 && echo $1'
Ma quando li ho eseguito, che vedo:
> git ekko master
master
master master
E:
> git ekko2 master
(blank line)
(blank line)
Il mio comportamento previsto è:
> git ekko master
master
master
Sono abbastanza nuovo per gli alias: sto cercando un modo per garantire che i miei argomenti vengano interamente consumati e non aggiunti alla fine dell'alias. Alcuni sleuthing indica questo comportamento cambiato da qualche parte intorno Git v1.7.x, e non ho ancora deciso esattamente come eseguire questa:
Git Alias - Multiple Commands and Parameters
+1 e accettare per la spiegazione. Grazie! –
Solo per la cronaca, un altro modo relativamente comune per ottenere lo stesso risultato è usare una funzione: 'ekko2 ="! F() {echo $ 1 && echo $ 1}; f "'. È potenzialmente leggermente più efficiente, in quanto evita di forgiare una seconda shell, penso ... – twalberg
Per me, 'ekko2 ="! Echo $ 1; echo $ 2 # "' ha funzionato. '#' Sopprime il resto della linea. – donquixote