समाप्त करने के लिए मापदंडों मैं Git बैश v1.8.1 उपयोग कर रहा हूँ, कुछ अन्य नामों (परीक्षण के लिए) के साथ:Git उर्फ appending
[alias]
ekko = !echo $1 && echo $1
ekko2 = !sh -c 'echo $1 && echo $1'
लेकिन जब मैं उन्हें चलाने के लिए, मैं देख रहा हूँ:
> git ekko master
master
master master
और:
> git ekko2 master
(blank line)
(blank line)
मेरे इच्छित व्यवहार है:
> git ekko master
master
master
मैं अन्य नामों पर काफी नई हूँ - मैं सुनिश्चित करने के लिए है कि मेरे तर्क पूरी तरह से खपत होती है, और अन्य नाम के अंत में जोड़ा नहीं एक तरह से तलाश कर रहा हूँ। कुछ sleuthing इस व्यवहार Git v1.7.x के आसपास कहीं बदल इंगित करता है, और मैं अभी तक वास्तव में निर्धारित किया है नहीं कि यह कैसे पूरा करने के लिए:
Git Alias - Multiple Commands and Parameters
+1 और स्पष्टीकरण के लिए स्वीकार करें। धन्यवाद! –
सिर्फ रिकॉर्ड के लिए, एक ही परिणाम प्राप्त करने का एक और अपेक्षाकृत सामान्य तरीका एक फ़ंक्शन का उपयोग करना है: 'ekko2 ="! F() {echo $ 1 && echo $ 1}; f "'। यह संभावित रूप से थोड़ा अधिक कुशल है, क्योंकि यह एक दूसरे खोल को तोड़ने से बचाता है, मुझे लगता है ... – twalberg
मेरे लिए, 'ekko2 = "! $ 1 echo; echo $ 2 #" "काम किया। '#' शेष रेखा को दबा देता है। – donquixote