বাশ টার্মিনালে কীভাবে ইনপুট / নতুন লাইন শুরু করবেন?


11

আমি লক্ষ করেছি লুপগুলির জন্য কয়েকটি নমুনা বাশ উদাহরণগুলিতে একাধিক লাইনে ছড়িয়ে রয়েছে

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

(যেমন, এখানে http://www.cyberciti.biz/faq/bash-for-loop/ ) আমি কীভাবে বাশ টার্মিনালে একটি নতুন লাইন প্রবেশ করবো (আমি পুটি ব্যবহার করি)? আমি যখন একটি লাইনের শেষে এন্টার টিপবো তখন সিস্টেম এটি কার্যকর করে।


1
এছাড়াও bashআপনি Ctrl + x + eউইন্ডোজের মতো একটি সম্পাদক যেমন কমান্ড প্রম্পটের বিষয়বস্তু খোলার জন্য কীবোর্ড সংমিশ্রণটি ব্যবহার করতে পারেন যেখানে আপনি এটিতে আরও সহজে কাজ করতে পারবেন, আপনার কাজ শেষ হয়ে গেলে আপনি সম্পাদক থেকে প্রস্থান করতে পারবেন এবং কমান্ডটি চলবে।
slm

সম্পর্কিত উত্তর: unix.stackexchange.com/questions/232912/…
কুসালানন্দ

উত্তর:


28

আপনি যখন Enterশেষে টিপুন :

for VARIABLE in file1 file2 file3

forলুপটি শেষ না হওয়ায় শেলটি কিছু কার্যকর করতে পারে না । সুতরাং পরিবর্তে, আপনি ক্লোজিংয়ে প্রবেশ না করা পর্যন্ত এটি একটি ভিন্ন প্রম্পট, $PS2প্রম্পট (সাধারণত >) মুদ্রণ করবে done

তবে >প্রদর্শিত হওয়ার পরে , আপনি প্রথম লাইনটি সম্পাদনা করতে ফিরে যেতে পারবেন না।

বিকল্পভাবে, টাইপিংয়ের পরিবর্তে Enter, আপনি টাইপ করতে পারেন Ctrl-VCtrl-J। এই ভাবে, নতুন লাইন অক্ষর (ওরফে ^J) বর্তমান বাফার গ্রহণ না করে প্রবেশ করা হয়েছে এবং আপনি পরে প্রথম লাইনে সম্পাদনা করতে ফিরে যেতে পারেন।

ইন zsh, আপনি বর্তমান বাফার গ্রহণ না করে টিপুন Alt-Enterবা EscEnterএকটি নতুন লাইন অক্ষর সন্নিবেশ করতে পারেন । একই আচরণ পেতে bash, আপনি এতে যুক্ত করতে পারেন ~/.inputrc:

"\e\C-m": "\026\n"

( চরিত্র \026হচ্ছে ^V)।


Ctrl-Jশুরু করার এবং Ctrl-Dশেষ করার জন্য, আমার পক্ষে ভাল কাজ করা শেষ
ডাকমাস্ট্রো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.