$ PS1 ভেরিয়েবলের জন্য আমি কোথায় একটি সম্পূর্ণ রেফারেন্স পাই?


20

আমার মেশিনে ডিফল্ট PS1 পরিবর্তনশীল (কুবুন্টু 13.10) এটি:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

আমি কীভাবে PS1 ভেরিয়েবল কাজ করে তার জন্য একটি রেফারেন্স সন্ধান করছি যা ন্যূনতম সময়ে আমাকে উপরের PS1 ভেরিয়েবলটি বুঝতে দেয়।


@ রাদুআরেদানু আমি এখনই এটি একটি পৃথক উত্তরে সরিয়ে নিয়েছি।
মার্ক রায়মন্ড

একটি সাধারণ দ্রষ্টব্য হিসাবে, আপনি PS1টার্মিনালের উদাহরণ নির্ধারণ করে এটির সাথে প্রায় খেলতে পারেন PS1="How r u, \u?"। পরিবর্তনটি কেবলমাত্র টার্মিনালটি বন্ধ না করা পর্যন্ত চলবে।
djvg

সম্পর্কিত: Askubuntu.com/a/984073/301745
wjandrea

উত্তর:


24

তথ্যসূত্র

এখনও অবধি, বাশ প্রম্পটে যেতে পারে এমন সমস্ত কিছুর জন্য একক রেফারেন্স পাওয়া যায় নি - তবে এটি এমন একটি বৈশিষ্ট্য যা কয়েক দশক ধরে বিকশিত হয়েছে এবং সম্ভবত ডিগ্রো থেকে ডাস্ট্রোতে পরিবর্তিত হয়, সম্ভবত এটি জিজ্ঞাসা করার জন্য খুব বেশি। আমি এখানে সবচেয়ে দরকারী বলে সংক্ষিপ্ত করার চেষ্টা করেছি।

এটি কীভাবে সর্বাধিক সম্পূর্ণ, তবে এটি খুব দীর্ঘ এবং মাতাল। আরও কিছু দরকারী বিভাগ:

  • বিভাগ 2.4 এবং 2.5 পিএস 1 সেট করার মূল বিষয়গুলি (মুদ্রণযোগ্য) পালানো অক্ষরগুলি সহ ব্যাখ্যা করে।
  • বিভাগ 3.4 কেন \[এবং \]প্রয়োজনীয় তা ব্যাখ্যা করে ।
  • বিভাগ 6 প্রম্পটের রঙ নির্ধারণ এবং এক্সটার্ম উইন্ডোর শিরোনাম সহ আপনি ব্যবহার করতে পারেন এমন সমস্ত মূল (প্রিন্টযোগ্য নয়) পালানোর ক্রমগুলি ব্যাখ্যা করে।

এই গাইডটি কীভাবে ${}বাশে সাধারণভাবে কাজ করে তা ব্যাখ্যা করে এবং উসুন জিজ্ঞাসা প্রশ্নটি কীভাবে এটি কাজ করে সে সম্পর্কে আরও কিছুটা ব্যাখ্যা করে debian_chroot

এর মধ্যে, আমি মনে করি ডিফল্ট উবুন্টু পিএস 1 ভেরিয়েবলের প্রতিটি চরিত্র ব্যাখ্যা করা হয়েছে।

উবুন্টু প্রম্পটের ব্যাখ্যা

প্রম্পটে তিনটি অংশ রয়েছে:

  • \[\e]0;\u@\h: \w\a\] একটি এক্সটার্ম উইন্ডোর শিরোনাম বারটি সেট করে:

    • \[ প্রিন্টযোগ্য অক্ষরগুলির একটি বিভাগ শুরু করে
    • \e]0; 'সেট এক্সটার্ম শিরোনাম' এর জন্য পালানোর ক্রমটি (আমি বিশ্বাস করি যে 0 এর চেয়ে অন্য সংখ্যাগুলি অন্যান্য এক্সটার্ম বৈশিষ্ট্য নির্ধারণ করবে, যদিও আমি এটি পরীক্ষা করে নিই)
    • \u@\h: \wব্যবহারের শিরোনাম (জন্য নীচে দেখুন \u, \hএবং \w)
    • \a শিরোনামের শেষ চিহ্নিত করে
    • \] মুদ্রণযোগ্য অক্ষরের শেষ চিহ্নিত করে
  • ${debian_chroot:+($debian_chroot)}বন্ধুত্বের ক্ষেত্রে $ ডিবিয়ান_ক্রুট মানকে প্রসারিত করে যদি $ ডিবিয়ান_ক্রুট সেট করা থাকে। $ ডিবিয়ান_ক্রুট সম্পর্কে আরও তথ্যের জন্য এই প্রশ্নটি দেখুন ।
  • \u@\h:\w\$ প্রম্পট নিজেই:

    • \u বর্তমান ব্যবহারকারীর নামটিতে প্রসারিত হয়
    • \h বর্তমান হোস্টনামে প্রসারিত হয়
    • \w বর্তমান ওয়ার্কিং ডিরেক্টরিতে প্রসারিত হয়
    • \$#রুট এবং $অন্যান্য সমস্ত ব্যবহারকারীর জন্য প্রসারিত

6

বাশ ম্যানুয়ালটি PS1 এস্কেপ সিকোয়েন্সগুলি সম্পূর্ণরূপে বর্ণনা করেছে: gnu.org/software/bash/manual/bashref.html#Printing-a-Prompt
glenn jackman

@ রাদু - ধন্যবাদ, আমি আগের চেয়ে আরও বেশি পেয়েছি ভিতরে কী যেতে পারে সে সম্পর্কে এখনও খুব কম তথ্য আছে বলে মনে হয় \[এবং \]যদিও এর জন্য আপনার কোনও রেফারেন্স রয়েছে?
মার্ক রেমন্ড

@ মার্কারাইমন্ড এটি আপনাকে দুটি লিঙ্কে ব্যাখ্যা করেছে যা আমি আপনাকে দিয়েছি ( লিনাক্স / ইউনিক্সের জন্য একটি প্রম্পট প্রিন্টিং এবং পিএস 1 প্রম্পট ব্যাখ্যা করা হয়েছে ): \[- প্রিন্ট-এ-প্রিন্টিং অক্ষরের একটি অনুক্রম শুরু করুন, যা প্রম্পটে একটি টার্মিনাল নিয়ন্ত্রণ ক্রম এম্বেড করতে ব্যবহৃত হতে পারে; \]- মুদ্রণবিহীন অক্ষরের ক্রম শেষ করুন। শুধু আপনার সময় নিন এবং সাবধানে পড়ুন;)
রাদু রেদানু

হ্যাঁ, আমি এটি পড়েছি - আমি সেই মুদ্রণবিহীন অক্ষরগুলি কী করে তার একটি রেফারেন্স খুঁজছিলাম । আমি পরিষ্কার না হলে দুঃখিত!
মার্ক রেমন্ড

প্রম্পটগুলিতে @ মার্করেমন্ড নন-প্রিন্টিং অক্ষর
রাদু রেডানু

5

ss64.com এর মনে হয়েছে যে আমি খুঁজে পেয়েছি সেরা রেফারেন্স।

এটি নিম্নলিখিত ভেরিয়েবলগুলি ব্যাখ্যা করে:

\d   The date, in "Weekday Month Date" format (e.g., "Tue May 26"). 

\h   The hostname, up to the first . (e.g. deckard) 
\H   The hostname. (e.g. deckard.SS64.com)

\j   The number of jobs currently managed by the shell. 

\l   The basename of the shell's terminal device name. 

\s   The name of the shell, the basename of $0 (the portion following 
    the final slash). 

\t   The time, in 24-hour HH:MM:SS format. 
\T   The time, in 12-hour HH:MM:SS format. 
\@   The time, in 12-hour am/pm format. 

\u   The username of the current user. 

\v   The version of Bash (e.g., 2.00) 

\V   The release of Bash, version + patchlevel (e.g., 2.00.0) 

\w   The current working directory. 
\W   The basename of $PWD. 

\!   The history number of this command. 
\#   The command number of this command. 

\$   If you are not root, inserts a "$"; if you are root, you get a "#"  (root uid = 0) 

\nnn   The character whose ASCII code is the octal value nnn. 

\n   A newline. 
\r   A carriage return. 
\e   An escape character. 
\a   A bell character.
\\   A backslash. 

\[   Begin a sequence of non-printing characters. (like color escape sequences). This
     allows bash to calculate word wrapping correctly.

\]   End a sequence of non-printing characters.

\[ ... \]অ মুদ্রণ অক্ষরের একটি সিরিজ সংজ্ঞায়িত করে। তাদের কার্সার অবস্থান সঠিকভাবে ট্র্যাক করা প্রয়োজন।

\eআপনার দ্রুত শুরু হয় এড়িয়ে যাওয়ার জন্য একটি অনুক্রম। সেই বিষয়ে আরো এখানে (অর্থাৎ পৃষ্ঠাতে নোট "Esc চাপুন" হয় \eক্রম)।

  • দ্রষ্টব্য: আমি সত্যিই পালানোর ক্রমগুলি পছন্দ করি নি। আপনার tputজন্য পালানোর কোডটি পেতে ব্যবহার করুন ।

${debian_chroot:+($debian_chroot)}প্যারামিটার সম্প্রসারণ। এখানে দেখুন

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