बैश में दोहरी बोली से बचने के लिए अनजाने में


2

मैं Git bash (विंडोज़ उपयोगकर्ता यहाँ) में एक कमांड के रूप में निम्नलिखित Git उर्फ ​​को जोड़ने की कोशिश कर रहा हूँ।

yolo = "!git init && git remote add origin $1 && git pull"

इसमें से कोई भी काम नहीं कर रहा है। पूर्व एक त्रुटि फेंकता है और बाद में डबल उद्धरण से बच जाता .gitconfigहैyolo = \"!git init && git remote add origin $1 && git pull\"

$ git config --global alias.yolo "!git init && git remote add origin $1 && git pull"

$ git config --global alias.yolo '"!git init && git remote add origin $1 && git pull"'

अद्यतन: पहली कमांड द्वारा प्रदर्शित त्रुटि है

git config --global alias.yolo "git config --global alias.yolo '"!git init && git remote add origin $1 && git pull"' init && git remote add origin $1 && git pull"
usage: git remote add [<options>] <name> <url>

-f, --fetch           fetch the remote branches
--tags                import all tags and associated objects when fetching
                      or do not fetch any tag at all (--no-tags)
-t, --track <branch>  branch(es) to track
-m, --master <branch>
                      master branch
--mirror[=<push|fetch>]
                      set up remote as a mirror to push to or fetch from

क्या त्रुटि है?
ओरूरबोरस

प्रश्न त्रुटि के साथ अद्यतन किया गया।
Collizo4sky

जवाबों:


1

क्या आपका उपनाम वास्तव में git cloneपहले से ही ऐसा करने की कोशिश नहीं कर रहा है?


$1यहां कुछ भी उपयोगी नहीं होगा - Git का उपनाम विस्तार केवल कॉन्फ़िगर कमांड के अंत में उपयोगकर्ता द्वारा दिए गए मापदंडों को जोड़ता है; यह शेल को यह नहीं बताता है कि उन्हें $ @ में मैप किया जाना चाहिए।

यहां दो विकल्प हैं:

  • एक फ़ंक्शन को परिभाषित करें और इसे चलाएं:

    yolo = "!fred() { git init && git remote add origin \"$1\" && git pull; }; fred"

    इस तरह $ 1 का मतलब होगा फंक्शन के पैरामीटर और सही तरीके से काम करना।

  • एक स्क्रिप्ट लिखें git-yolo:

    (नहीं होना चाहिए / बिन / श, बश या पर्ल या कुछ भी हो सकता है)

    #!/bin/sh
    git init && git remote add origin "$1" && git pull
    

    स्क्रिप्ट को कहीं भी अपनी- $PATHनिर्देशित निर्देशिकाओं में रखें, जैसे /usr/local/bin/git-yolo। यह Git को एक git yoloउप-क्षेत्र के रूप में पहचान देगा ।


नमस्कार, आपके जवाब के लिए धन्यवाद। मैं स्क्रिप्टिंग को कोसने के लिए नया हूं। समस्या है, संपादन .ITconfig और कमांड जोड़ने पर yolo = "!git init && git remote add origin $1 && git pull"काम जोड़ना git yolo। यह पूरी तरह से काम करता है। जब निर्देशिका खाली न हो तो केवल क्लोन क्लोन काम करता है। सब मैं चाहता हूँ कि कैसे git config --global alias.yolo ... मैं के माध्यम से उपनाम जोड़ा जा सकता है मैं चाहता हूँ कि दोहरे उद्धरण बच न जाए।
Collizo4sky
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.