मुझे टर्मिनल में एक मल्टी-लाइन बैश कोड पेस्ट करने की आवश्यकता है, लेकिन जब भी मैं करता हूं, प्रत्येक लाइन एक अलग कमांड के रूप में चला जाता है जैसे ही यह चिपकाया जाता है।
जवाबों:
मैं वास्तव में आश्चर्यचकित हूं कि यह उत्तर यहां प्रस्तुत नहीं किया गया है, मैं इस प्रश्न के समाधान की तलाश में था और मुझे लगता है कि यह सबसे आसान तरीका है, और अधिक लचीला / क्षमाशील ...
यदि आप किसी वेबसाइट / टेक्स्ट एडिटर / आदि से कई लाइनें चिपकाना चाहते हैं, तो इसकी परवाह किए बिना कि वह प्रति पंक्ति या फंक्शन या पूरी स्क्रिप्ट की परवाह किए बिना है ... बस एक के साथ शुरू करें (
और एक और अंत के साथ )
दर्ज करें, जैसे निम्नलिखित उदाहरण में:
अगर मैं निम्नलिखित बूँद था
function hello {
echo Hello!
}
hello
आप एक टर्मिनल में बैश का उपयोग करके पेस्ट और सत्यापन कर सकते हैं:
के साथ शुरू (
अपने पाठ को पेस्ट करना, और Enter दबाएं (इसे सुंदर बनाने के लिए) ... या नहीं
एक के साथ समाप्त करना )
और एंटर दबाना
उदाहरण:
imac:~ home$ ( function hello {
> echo Hello!
> }
> hello
> )
Hello!
imac:~ home$
>
प्रत्येक पंक्ति के लिए पूर्व निर्धारित पाठ के साथ चिपकाया हुआ पाठ स्वचालित रूप से जारी रहता है । मैंने प्रति पंक्ति, फ़ंक्शंस और संपूर्ण स्क्रिप्ट के साथ कई लाइनों का परीक्षण किया है। आशा है कि यह दूसरों को कुछ समय बचाने में मदद करता है!
यदि आप C-x C-e
कमांड दबाते हैं जो आपके डिफ़ॉल्ट संपादक को परिभाषित करेगा जो परिभाषित किया गया है.bashrc
, उसके बाद आप अपने संपादक की सभी शक्तिशाली विशेषताओं का उपयोग कर सकते हैं। जब आप सहेजते हैं और बाहर निकलते हैं, तो लाइनें आपके प्रवेश की प्रतीक्षा करेंगी।
यदि आप अपने संपादक को परिभाषित करना चाहते हैं, तो बस Ex के लिए लिखें। EDITOR=emacs -nw
या के EDITOR=vi
अंदर~/.bashrc
emacs
और vi
करते हैं), और कमांड को सहेजने और बाहर निकालने पर तुरंत निष्पादित किया जाता है ।
बैकस्लैश के अलावा, एक लाइन के साथ समाप्त होता है |
या &&
या||
है, यह अगली पंक्ति पर जारी रखा जाएगा।
लाइनों के चारों ओर कोष्ठक जोड़ें। उदाहरण:
$ (
sudo apt-get update
dokku apps
dokku ps:stop APP # repeat to shut down each running app
sudo apt-get install -qq -y dokku herokuish sshcommand plugn
dokku ps:rebuildall # rebuilds all applications
)
(
, ब्रेसिज़ {
भी उपरोक्त उदाहरण में समान काम करेंगे
iTerm कई-लाइन कमांड को पूरी तरह से हैंडल करता है, यह कई-कमांड कमांड को एक कमांड के रूप में बचाता है, फिर हम Cmd
+ Shift
+ का उपयोग कर सकते हैं;
इतिहास को नेविगेट करने के का ।
ITerm के साथ प्रभावी ढंग से काम करने में अधिक iTerm युक्तियां जांचें
प्रयत्न
out=$(cat)
फिर अपनी लाइनें पेस्ट करें और Ctrl-D दबाएं (EOF वर्ण डालें)। Ctrl-D तक सभी इनपुट को बिल्ली के स्टडआउट पर पुनर्निर्देशित किया जाएगा।
$ out=$(cat) && eval "$out"
:। पिछली पंक्ति के बाद एंट्री मारा, फिर CTRL + D जैसा कि ऊपर बताया गया है।