আমি মাঝে মাঝে টার্মিনালে ">" বারবার অনুরোধ করব কেন?


19

ঠিক আছে, যখন আমি নির্দিষ্ট কমান্ডগুলি ভুল পথে চালিত করি, (ভুল বানান ইত্যাদি) টার্মিনালটি এর ফলাফল দেয়: >পরিবর্তে computername:workingfolder username$, এবং আমি যখন এন্টার লিখি তখন এটি এরকম হয়:

>

>

>

আমি যদি 3 বার এন্টার টিপতাম তবে তা হবে।

উত্তর:


43

> এটি ডিফল্ট ধারাবাহিকতা প্রম্পট hat যা আপনি আগে যা প্রবেশ করেছেন তাতে ভারসাম্যহীন উদ্ধৃতি চিহ্ন রয়েছে কিনা তা আপনি দেখতে পাবেন।

উদাহরণস্বরূপ, কমান্ড লাইনে কয়েকটি enterকী ব্যবহার করে একটি একক উদ্ধৃতি টাইপ করুন :

$ '
> 
> 
> 

ধারাবাহিকতা অনুরোধগুলি আপনি না হওয়া পর্যন্ত ঘটবে

  • (ক) একটি সমাপ্ত উদ্ধৃতি চিহ্ন দিয়ে কমান্ডটি সম্পূর্ণ করুন

    অথবা

  • (খ) ইনপুট সমাপ্ত করতে Ctrl+ টাইপ Dকরুন, যারপরে শেল ভারসাম্যহীন উদ্ধৃতি সম্পর্কে ত্রুটি বার্তার সাথে প্রতিক্রিয়া জানাবে,

    অথবা

  • (গ) টাইপ Ctrl+ Cযা আপনি যে কমান্ডটি প্রবেশ করছিলেন তা বাতিল করে দেবে।

এটি কীভাবে কার্যকর

কিছু সময়, আপনি এমনি এম্বেড নতুন লাইন রয়েছে এমন একটি স্ট্রিং প্রবেশ করতে চাইতে পারেন। আপনি নিম্নলিখিত হিসাবে এটি করতে পারেন:

$ paragraph='first line
> second line
> third line
> end'

এখন, যখন আমরা সেই শেল ভেরিয়েবলটি প্রদর্শন করব, আপনি দেখতে পাবেন যে প্রম্পটগুলি অদৃশ্য হয়ে গেছে তবে নতুন লাইনগুলি বজায় রয়েছে:

$ echo "$paragraph"
first line
second line
third line
end

16

আপনার কমান্ডে যদি কোনও বিবৃত উদ্ধৃতি না থাকে তবে তা ঘটবে। এটি এমন কিছু:

$ echo "test here
>
>
...

আপনি উদ্ধৃত (লিখুন একটি বন্ধ করে যে মোড থেকে প্রস্থান করতে পারেন "বা ', বা যাই হোক না কেন আপনার খোলা উদ্ধৃতি যায়)। এটি একটি ব্রেস-সীমাবদ্ধ ব্লক, একটি আংশিক-সম্পূর্ণ for-doবা while-doলুপ বা অন্য কিছু নির্মাণ হতে পারে। আপনি Ctrl-Cএই আদেশটি বাতিল করতে টিপতে পারেন (তারপরে Upএটি সংশোধন করতে টিপুন )।

প্যারামিটার বা ইতিহাসের বিস্তৃতি ঘটে যেখানে আপনি আশা করেননি এমন ক্ষেত্রে কখনও কখনও স্পষ্ট অনুপস্থিত উদ্ধৃতি ব্যতীত ঘটতে পারে happen


>আপনার হয় PS2( "মাধ্যমিক প্রম্পট") মান। যা ঘটেছে তা মনে করিয়ে দেওয়ার জন্য আপনি এটি অন্য কোনওটিতে পরিবর্তন করতে পারেন:

PS2="Unclosed >"

আপনার .bashrcইচ্ছার Unclosed >পরিবর্তে প্রতিটি লাইনের শুরুতে এটি মুদ্রণ করুন।


7

অন্যান্য উত্তরগুলির পাশাপাশি, আপনি যখন \কোনও লাইনে একটি শেষ অক্ষর হিসাবে টাইপ করেন তখন আপনি ধারাবাহিকতা প্রম্পটটি পান ।


5
(আমার জন্য, এটি সাধারণত দুর্ঘটনার দ্বারা ঘটে থাকে, কারণ ব্যাকস্ল্যাশ ভয়ঙ্করভাবে এন্টার কীটির নিকটে থাকে))
মিস্টার লিস্টার

নেই আমার কীবোর্ড , তাই নয় কি।
ট্রিগ

@ টিআরআইজি আপনি বলতে চাচ্ছেন, আপনি প্রায়শই type এর পরিবর্তে # দুর্ঘটনা দ্বারা টাইপ করেন? ঠিক ...
মিস্টার লিস্টার

7

উত্তরটি বাশ রেফারেন্স ম্যানুয়ালটিতে এই রহস্যজনক উল্লেখের মধ্যে রয়েছে :

5.1 বোর্ন শেল পরিবর্তনশীল

[...]

  • PS1: প্রাথমিক প্রম্পট স্ট্রিং। ডিফল্ট মান ' \s-\v\$'। প্রদর্শিত হওয়ার আগে প্রসারিত ক্রমগুলির সম্পূর্ণ তালিকার জন্য প্রম্পট প্রিন্ট করা দেখুন PS1
  • PS2: সেকেন্ডারি প্রম্পট স্ট্রিং। ডিফল্ট মান ' >'।

এরপরে :

.3.৩.৩ ইন্টারেক্টিভ শেল আচরণ

  1. PS1কমান্ডের প্রথম লাইনটি পড়ার আগে বাশ প্রসারিত এবং প্রদর্শন করে এবং PS2মাল্টি-লাইন কমান্ডের দ্বিতীয় এবং পরবর্তী লাইনগুলি পড়ার আগে প্রসারিত এবং প্রদর্শন করে ।

সুতরাং, >আপনি Enterটিপলে প্রম্পট উপস্থিত হয় এবং বাশ নির্ধারণ করে যে কমান্ডটি অসম্পূর্ণ। কারণ এটি হতে পারে:

  • নতুন লাইনের পূর্বে অক্ষরটি একটি \, যা লাইন ধারাবাহিকতা হিসাবে বিবেচিত হয় ।
  • আপনি একটি অসম্পূর্ণ স্ট্রিং (বেমানান কোট বা অসমাপ্ত এখানে-ডক) অথবা যেমন কিছু অন্যান্য মেলেনি বিভেদক, have $(), (), ``
  • আপনি একটি ফাংশন সংজ্ঞা, একটি forলুপ, একটি whileলুপ বা একটি শুরু করেছেন case

আপনি যদি অনিচ্ছাকৃত টাইপিং ত্রুটির কারণে গৌণ প্রম্পটটি দেখছেন ControlCতবে প্রাথমিক প্রম্পটে ফিরে আসতে আঘাত করুন ।


আপনি এখানে-ডকটিতে টাইপ করার সময় আপনি গৌণ প্রম্পটটি পাবেন। তবে অন্যের তুলনায় এটি দুর্ঘটনার দ্বারা কম হওয়ার সম্ভাবনা কম।
বার্মার

6

শেলটি আপনার কমান্ডটি শেষ করার অপেক্ষায় রয়েছে। হতে পারে কোথাও একটি আবদ্ধ উদ্ধৃতি আছে বা এটি মনে করে যে আপনি একটি "জন্য" লুপ শুরু করছেন এবং ব্যবহারকারীর টাইপিং শেষ করার জন্য অপেক্ষা করছেন

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