টার্মিনালে কোনও অনুলিপি / পেস্টের কারণে কখনও কখনও কমান্ডটি কার্যকর করা যায়?


24

আপনি যখন টার্মিনালে কিছু কমান্ড আটকান, এটি কখনও কখনও স্বয়ংক্রিয়ভাবে কমান্ডটি চালিত করে (ঠিক "" Enter "কী চাপলে) কখনও কখনও হয় না।

আমি যুগে যুগে লিনাক্স ব্যবহার করে আসছি, অনেকগুলি ডিস্ট্রোতে বিভিন্ন কনসোলে হাজার হাজার কমান্ড আটকানো হয়েছে এবং আমি যে কমান্ডটি পেস্ট করতে চলেছি তা স্বয়ংক্রিয়ভাবে কার্যকর হবে কিনা তা আমি এখনও বলতে অক্ষম।

কি এই আচরণ ট্রিগার করে?


5
আপনি যদি এই নিয়ে উদ্বিগ্ন হওয়া এড়াতে চান { তবে আটকানোর আগে টাইপ করুন (ডাব্লু / স্পেস), তারপরে শেষ করুন }। এটি আটকানো কমান্ডগুলির কাজগুলিতে কোনও প্রভাব ফেলবে না, তবে ব্লকটি বন্ধ না করা পর্যন্ত শেলটিকে কার্যকর করতে বাধা দেয়। এখানে বর্ণিত হয়েছে [ gnu.org/software/bash/manual/html_node/Command-Grouping.html]
loa_in_

উত্তর:


37

আপনি যে অনুলিপিটি অনুলিপি করছেন সেটিতে এটি ফেরতের চরিত্র execution

আসুন একটি আলাদা উদাহরণ নেওয়া যাক, একবারে এই লাইনগুলি অনুলিপি করুন এবং এগুলি আপনার টার্মিনালে পেস্ট করুন:

echo "Hello";
echo "World";

আপনি যদি আপনার টার্মিনালে দেখে থাকেন তবে আপনি এটি দেখতে পাবেন না:

$ echo "Hello";
echo "World";

আপনি এটি দেখতে পাবেন (এখানে একটি লাইনও বলা হতে পারে World):

$ echo "Hello";
Hello
$ echo "World";

সমস্ত ইনপুট আটকানোর জন্য অপেক্ষা না করে, প্রথম লাইনটি সম্পাদন করে (এবং একই কারণে, দ্বিতীয় লাইনটি এটিও করতে পারে বা নাও পারে)। কারণ RETURNদুটি লাইনের মধ্যে একটি চরিত্র রয়েছে।

আপনি যখন ENTERআপনার কীবোর্ডে কী টিপুন , আপনি যা করছেন তা হ'ল ASCII মান সহ অক্ষরটি প্রেরণ করা হচ্ছে 13। এই চরিত্রটি আপনার টার্মিনাল দিয়ে তত্ক্ষণাত সনাক্ত করা হয়েছে এবং আপনি জানেন এখন পর্যন্ত যা টাইপ করেছেন তা কার্যকর করার জন্য এর বিশেষ নির্দেশনা রয়েছে knows

আপনার কম্পিউটারে সঞ্চিত বা আপনার স্ক্রিনে মুদ্রিত হওয়ার পরে, RETURNঅক্ষরটি বর্ণমালা, সংখ্যা বা চিহ্নের অন্য কোনও বর্ণের মতোই। এই অক্ষরটি ব্যাকস্পেসের সাথে মুছে ফেলা যায়, বা অন্য কোনও নিয়মিত চরিত্রের মতো ক্লিপবোর্ডে অনুলিপি করা যায়।

পার্থক্যটি কেবল হ'ল, যখন আপনার ব্রাউজারটি অক্ষরটি দেখে, এটি জানে যে কোনও দৃশ্যমান অক্ষর মুদ্রণের পরিবর্তে এটির সাথে অন্যরকম আচরণ করা উচিত এবং পরবর্তী লেখার পরবর্তী সেটটিকে পরবর্তী লাইনে সরানোর জন্য বিশেষ নির্দেশনা রয়েছে। RETURNচরিত্র ও SPACEঅক্ষরের (ascii 32), কয়েক অন্যান্য কদাপি ব্যবহৃত অক্ষর সহ, যেমন এই কারণে "অ-মুদ্রণ অক্ষর" নামে পরিচিত হয়।

কখনও কখনও আপনি যখন কোনও ওয়েবসাইট থেকে পাঠ্য অনুলিপি করেন, কেবল পাঠ্যটি অনুলিপি করা কঠিন এবং শেষে ফিরে পাওয়া যায় না (এবং প্রায়শই পৃষ্ঠায় স্টাইলিং দ্বারা আরও কঠিন হয়ে যায়)।


পরীক্ষার সময়!

নীচে আপনি দুটি কমান্ড পাবেন যা সমস্যার চিত্র তুলে ধরে এবং আপনি "অনুশীলন" করতে পারেন। আপনার কার্সারটি ঠিক আগে শুরু করুন echoএবং হাইলাইটটি তীরের ঠিক আগে না হওয়া পর্যন্ত টানুন:

echo "Wait for my signal...";<- End cursor here right after the semicolon

এবং এখন দ্বিতীয় কমান্ড চেষ্টা করুন। আপনার কার্সারটি ঠিক আগে শুরু করুন echoএবং কার্সারটি দ্বিতীয় লাইনে না আসা পর্যন্ত নীচে টানুন, তবে ঠিক <-তীরের ঠিক সামনে । এটি অনুলিপি করুন এবং তারপরে এটি আপনার টার্মিনালে আটকান:

echo 'Go go go!';
<- End cursor here right before the arrow

আপনার ব্রাউজারের উপর নির্ভর করে, এটি আপনি এমনকি নির্বাচিত পাঠ্যটি দুটি লাইনের উপরেও দৃশ্যমান নাও হতে পারেন। তবে আপনি এটি টার্মিনালে পেস্ট করলে আপনি দেখতে পাবেন যে এটি লাইনটি কার্যকর করে, কারণ এটি RETURNঅনুলিপিযুক্ত পাঠ্যে একটি অক্ষর খুঁজে পেয়েছে ।


5
জটিলতা হ্রাস করতে, আমি উইন্ডোজ রিটার্নের জন্য দুটি পৃথক কী ব্যবহার করে তা উল্লেখ করে সম্পূর্ণভাবে উপেক্ষা করেছি। কেবলমাত্র এটি জেনে থাকুন যে এটি আমাদের প্রতিদিনের দুর্দশা এবং সংগ্রাম have
আইকিউআন্দ্রিয়াস

স্থান হ'ল মুদ্রণের একটি অক্ষর
মাইকসার্ভ

1
সম্ভবত। যাইহোক, যখন আমি ফায়ারফক্স থেকে একটি শেল (একটি স্টাটি "কাঁচা" সেট করে) তে একটি পেস্ট পরীক্ষা করি তখন লাইনগুলি নতুন লাইনের সাথে শেষ হয় - ক্যারেজ রিটার্ন নয়।
টমাস ডিকি

1
আপনাকে পরবর্তী লাইনে যাওয়ার দরকার নেই, আপনি যদি সেমিকোলনকে পর্যাপ্ত পরিমাণে (২-৩ টি অক্ষর) নির্বাচন করেন এবং সরান, তবে এটি পুরো সারিটি নির্বাচন করবে, যার অর্থ আপনি নিজেকে একটি নতুন লাইন ধরেছেন।

@ থমাসডিকি আপনি উইন্ডোজে বা ইউনিক্স ভিত্তিক সিস্টেমে আছেন?
আইকিউআন্ড্রেয়াস

10

আপনি যখন পাঠ্যটি নির্বাচন করেন, আপনি যদি কোনও লাইনের শেষে (অদৃশ্য) নতুনলাইন অন্তর্ভুক্ত করেন তবে এটি আটকানো পাঠ্যে থাকবে। আমি জানি যে সমস্ত টার্মিনাল এমুলেটরগুলির সাথে এটি সামঞ্জস্যপূর্ণ। নিউলাইনটি আপনাকে "বৈধতা" বলছে তাই করে।

কিছু সিস্টেমে (যেমন আইবিএম 3270 এর মতো সিঙ্ক্রোনাস টার্মিনাল ব্যবহার করা হয়), Enterকীটি হোস্টের সমস্ত পরিবর্তনগুলি অনুলিপি করে স্ক্রিনটিকে "বৈধতা" দেয়।


2

অন্যান্য উত্তরগুলি প্রশ্নের উত্তরের উত্তম উত্তর দিয়েছে, তবে আমি ভেবেছিলাম যে যদি আপনি উইন্ডোজে পিটিটিওয়াই ব্যবহার করেন তবে ঘটনাক্রমে ঘটে যাওয়া থেকে রোধ করার একটি সমাধানও আমি ভাগ করে নেব - /server/731022/prevent-accidental দেখুন -অনুসরণ-অফ-কমান্ড-ইন-লিনাক্স-যদি-পেস্টিং-পাঠ্য-সম্বলিত- বিশদ।


2

কি এই আচরণ ট্রিগার করে?

নিউলাইন চরিত্র।

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