আমাকে টার্মিনালে একটি বহু-লাইন বাশ কোড পেস্ট করতে হবে, তবে আমি যখনই করি, প্রতিটি লাইনটি আটকানোর সাথে সাথে পৃথক কমান্ড হিসাবে চালিত হয়।
উত্তর:
আমি সত্যিই অবাক হয়েছি যে এই উত্তরটি এখানে দেওয়া হয়নি, আমি এই প্রশ্নের সমাধানের সন্ধানে ছিলাম এবং আমি মনে করি এটিই সবচেয়ে সহজ পদ্ধতির এবং আরও নমনীয় / ক্ষমাশীল ...
আপনি যদি কোনও ওয়েবসাইট / পাঠ্য সম্পাদক / ইত্যাদি থেকে একাধিক রেখাকে বাশতে পেস্ট করতে চান তবে তা প্রতি লাইনের প্রতি আদেশ বা কোনও ফাংশন বা পুরো স্ক্রিপ্ট নির্বিশেষে ... কেবল একটি দিয়ে শুরু করুন এবং এন্টার (
দিয়ে শেষ )
করুন, যেমন নিম্নলিখিত উদাহরণে:
আমি যদি নিম্নলিখিত ব্লব ছিল
function hello {
echo Hello!
}
hello
আপনি এটি দ্বারা বাশ ব্যবহার করে টার্মিনালে আটকানো ও যাচাই করতে পারেন:
দিয়ে শুরু (
আপনার পাঠ্য আটকানো, এবং এন্টার টিপুন (এটিকে সুন্দর করার জন্য) ... বা না not
একটি দিয়ে শেষ হয় )
এবং এন্টার টিপুন
উদাহরণ:
imac:~ home$ ( function hello {
> echo Hello!
> }
> hello
> )
Hello!
imac:~ home$
আটকানো পাঠ্য >
প্রতিটি লাইনের জন্য একটি প্রিপেন্ডিং দিয়ে স্বয়ংক্রিয়ভাবে চালিয়ে যায় । আমি প্রতি লাইন, ফাংশন এবং পুরো স্ক্রিপ্টগুলিতে একাধিক লাইন পরীক্ষা করেছি। আশা করি এটি অন্যকে কিছুটা সময় বাঁচাতে সহায়তা করবে!
আপনি যদি C-x C-e
কমান্ড টিপেন যা আপনার ডিফল্ট সম্পাদকটি খুলবে যা সংজ্ঞায়িত করা হয়েছে .bashrc
, এর পরে আপনি আপনার সম্পাদকের সমস্ত শক্তিশালী বৈশিষ্ট্য ব্যবহার করতে পারেন। আপনি যখন সংরক্ষণ এবং প্রস্থান করবেন, লাইনগুলি আপনার প্রবেশের জন্য অপেক্ষা করবে।
আপনি যদি আপনার সম্পাদককে সংজ্ঞায়িত করতে চান তবে কেবল প্রাক্তনের জন্য লিখুন। 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
)
(
, ধনুর্বন্ধনীও {
উপরের উদাহরণে একই কাজ করবে
আরেকটি সম্ভাবনা:
bash << EOF
echo "Hello"
echo "World"
EOF
এইভাবে চেষ্টা করুন:
echo $(
cmd1
cmd2
...
)
iTerm মাল্টিপল-লাইন কমান্ড পুরোপুরি পরিচালনা, এটা সংরক্ষণ করে মাল্টিপল-লাইন মাত্র একটি কমান্ড হিসাবে আদেশ, তাহলে আমরা ব্যবহার করতে পারেন Cmd
+ + Shift
+ + ;
ইতিহাস নেভিগেট করতে।
আইটির্মের সাথে কার্যকরভাবে কাজ করতে আরও আইটার্ম টিপস পরীক্ষা করে দেখুন
চেষ্টা করুন
out=$(cat)
তারপরে আপনার লাইনগুলি পেস্ট করুন এবং Ctrl-D (EOF অক্ষর সন্নিবেশ করুন) টিপুন। Ctrl-D অবধি সমস্ত ইনপুট বিড়ালের স্টাডাউটে পুনঃনির্দেশিত হবে।
$ out=$(cat) && eval "$out"
। উপরের পরামর্শ অনুসারে শেষ লাইনের পরে এন্টার টিপুন এবং তারপরে CTRL + D চাপুন।