/ / Bed - bash के साथ जीएडिट के भीतर कोड की एक पंक्ति निष्पादित करना

बैड-बैश के साथ जीएडिट के भीतर कोड की एक पंक्ति निष्पादित करना

मैं इस जीआईआई को लिखने के लिए एक स्क्रिप्ट लिख रहा हूं "मैं लिख रहा हूं।

आप एक चर को निष्पादित कैसे करेंगे, उदाहरण के लिए, लाइन 3 पर?

तो उदाहरण के लिए:

var1="1"
var2="2"
var3="3"

टर्मिनल से, मैं लिखी गई एक स्क्रिप्ट के भीतर लाइन 3 निष्पादित करना चाहता हूं।

यह मैं कैसे करूंगा?

उत्तर:

उत्तर № 1 के लिए 1

मान लीजिए कि आपकी स्क्रिप्ट है myscript.sh

eval `head -n3 myscript.sh | tail -n1`

संपादित करें

अनुरोध के रूप में स्पष्टीकरण:

  • head -n 3 myscript.sh आपके पहले 3 लाइनों को पुनः प्राप्त करेगा लिपि
  • ये पहली तीन लाइनें पाइप हैं (के माध्यम से | ऑपरेटर) करने के लिए tail -n1, जो इनपुट के अंत से केवल 1 लाइन वापस देगा, इसलिए आपको पहली 3 लाइनों की अंतिम पंक्ति मिल जाएगी - यह लाइन 3 है
  • eval() परिणामस्वरूप स्ट्रिंग को आसानी से चलाएगा, जैसे कि यह स्क्रिप्ट में लिखा गया था - इसलिए यह तीसरी पंक्ति चलाता है
  • बैकटीक्स बना देगा eval() चलाएं उत्पादन उन्हें चलाने के बाद, अन्य आदेशों का