লিনাক্স শেল প্রম্পট করা শেষ রিটার্ন মান প্রদর্শন


12

আমি বর্তমানে একটি লিনাক্স মেশিনে আছি এবং শেল প্রম্পটটি আমাকে সর্বশেষ রিটার্ন মান এবং সম্পাদিত কমান্ডের সংখ্যা দেখাচ্ছে (ছবিটি অন্তর্ভুক্ত রয়েছে, বেগুনীতে দেখানো এই সংখ্যাগুলির সাথে)।

আমার নিজের কম্পিউটারে এটি নেই, আমি কীভাবে এটি কনফিগার করব?
আমি এক্সুবুন্টো ব্যবহার করছি, যদি আরও বিশদ প্রয়োজন হয় তবে আমাকে জানতে দিন - আমি লিনাক্স ব্যবহারকারীর বেশি নই (এখানে কী প্রাসঙ্গিক তা আমি জানি না)।

উদাহরণ


এটি উত্তর দিতে খুব অস্পষ্ট। আপনি যে আদেশগুলি কার্যকর করছেন তা কী? আপনার কম্পিউটার (ওএস) কোনটি নেই যা এটি নেই?
ক্রিস টিং

আমি বলেছি আমার ওএস হ'ল জুবুন্টু, এবং এটি কোনও নির্দিষ্ট কমান্ডের সাথে সম্পর্কিত নয়, এটি ঠিক এমন কিছু যা সর্বদা প্রদর্শিত হয়।
ইরান

উত্তর:


10

দেখে মনে হচ্ছে bashএটি জুবুন্টুর ডিফল্ট শেল

সম্পাদনা করুন ( .bashrcবা .bash_profileআপনার সিস্টেমের কনফিগারেশনের উপর নির্ভর করে) এবং এর সাথে শুরু হওয়া কোনও লাইন সন্ধান করুন PS1=। এই লাইনটি আপনার প্রম্পট সেট করে ।

শেষ কমান্ডের রিটার্ন মান যোগ করতে নিম্নলিখিত লাইনে নিম্নলিখিতটি যুক্ত করুন:

`echo -n $?`

সুতরাং এটি নিচের মতো দেখতে (আমার বর্তমান প্রম্পট, সরলীকৃত):

PS1='\u in \w (`echo -n $?`)\n -> \$ '

এটি _কার্সার হওয়ার সাথে এটির মতো দেখাবে :

danielbeck in ~ (0)
 -> $ _

বিকল্পভাবে, আপনি PROMPT_COMMANDআপনার প্রম্পটে রিটার্ন কোডটি ফেরত দিতে পরিবেশ পরিবর্তনশীলটি ব্যবহার করতে পারেন :

export PROMPT_COMMAND='RET=$?; echo -n "($RET) "'

এটি (0)আপনার অন্যথায় পরিবর্তিত প্রম্পটের ঠিক আগে উদাহরণ যোগ করবে ।


\#আপনার প্রম্পটে যোগ করে আপনি "কাউন্টার" পান : এটি কমান্ড নম্বরইতিহাসের নম্বরটি আরও কার্যকর হতে পারে যা 1 থেকে শুরু হয় না, তবে আপনাকে বিস্ময়কর চিহ্নটি প্রবেশ করে কোনও কমান্ড কার্যকর করতে দেয়, তারপরে কমান্ডের ইতিহাস নম্বরটি থাকে:

984 $ foo
-bash: foo: command not found
985 $ !984
foo
-bash: foo: command not found
986 $ _

কিছু অতিরিক্ত খেলার পরে:

PS1='`RET=$?; if [ $RET != 0 ] ; then echo "rc $?"; fi`\n\u in `pwd`\n#\# !\! \$ '

এটি কেবলমাত্র তার নিজস্ব লাইনে শূন্য-না হলে, ফেরতের মানটি প্রদর্শন করবে। কমান্ড নম্বর এবং ইতিহাস নম্বর আপনি যে কমান্ডটি প্রবেশ করতে যাচ্ছেন ঠিক একই লাইনে রয়েছে:

danielbeck in /Users/danielbeck/Downloads
#1 !984 $ foo
-bash: foo: command not found
rc 127
danielbeck in /Users/danielbeck
#2 !985 $ _

5

পরিবর্তনশীল $?শেষ রান প্রোগ্রামের জন্য প্রস্থান কোড রয়েছে।

ninth:~ sakkaku$ echo Hello World
Hello World
ninth:~ sakkaku$ echo $?
0
ninth:~ sakkaku$ cat asdasd
cat: asdasd: No such file or directory
ninth:~ sakkaku$ echo $?
1

আমি মনে করি আপনি একটি ইনক্রিমেন্টার ব্যবহার করে "চালিত কমান্ডের সংখ্যা" পেতে পারেন

ninth:~ sakkaku$ echo $[numcommands++]
0
ninth:~ sakkaku$ echo $[numcommands++]
1
ninth:~ sakkaku$ echo $[numcommands++]
2
ninth:~ sakkaku$ echo $[numcommands++]
3

তারপরে প্রম্পটটি পরিবর্তন করতে আপনাকে আপনার .bashrc এ PS1 / PS2 ভেরিয়েবলটি পরিবর্তন করতে হবে। এটি শালীন গাইডের মতো মনে হচ্ছে (এটি / etc / bashrc পরিবর্তনের প্রস্তাব দিলে আমি কেবল ~ / .brcrc করব)।


1
ধন্যবাদ, আমি এটি আমার নিজের কম্পিউটারে পরে পরে চেষ্টা করব এবং এটি কীভাবে হয় তা দেখতে পাবে।
ইরান

1

এফওয়াইআই, আপনি যদি zsh ব্যবহার করেন তবে এটি আরও সহজ। এই কনস্ট্রাক্ট: %(?..%F{red}%?%f)মানে শেষ কমান্ডগুলি ত্রুটিযুক্তটিকে লাল রঙে লাল দেখান যদি এটি শূন্য না হয় (সাধারণ), তবে এটি যদি সাধারণ কিছু না দেখায়। কনস্ট্রাক্ট %(1j.[%j].)মানে বর্গাকার বন্ধনীগুলিতে পটভূমি কাজের বর্তমান সংখ্যাটি দেখান।

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