বাশ পিএস 1 কাস্টমাইজড প্রম্পটে লম্বা লাইনগুলি ওভারল্যাপ হয়


13

PS1সার্ভারের নাম, সময়, ব্যবহারকারীর নাম এবং অন্যান্য দরকারী ভেরিয়েবল সহ আমি অভিনব দ্বি-লাইন বাশ প্রম্পটটি কনফিগার করেছি ।

PS1="\n\[\033[1;34m\]\342\226\210\342\226\210 \u @ $SERVER_NAME""$BBlue"" \w""$Color_Off  \n\[\033[0;36m\]\342\226\210\342\226\210 \d \t $ \[\033[0;39m\]"

এখানে চিত্র বর্ণনা লিখুন

এখানে সম্পূর্ণ গিথুব উত্স ।

সমস্যাটি হ'ল দীর্ঘ লাইনগুলি প্রায়শই নিজের চারপাশে আবৃত থাকে যার অর্থ নতুন লাইনটি পূর্ববর্তীটিটিকে ওভারল্যাপ করে।

সমস্যাটি বেমানান: কিছু লাইন সঠিকভাবে মোড়ানো হয়েছে, কিছু নেই।

কোন ধারনা কিভাবে এটা ঠিক করতে হবে?

উত্তর:


16

বাশ প্রম্পটের জন্য এখানে আমার অভিনব দ্বি-লাইন PS1।

PS1

\[\e[1;32m\]\H\[\e[0m\] :: \[\e[1;30m\]\d\[\e[0m\] \@ :: \[\e[1;33m\]\w\n\[\e[1;34m\]\u $ \[\033[0m\]

সুতরাং এখানে আমি কি করেছি। যদি এটি আমার রঙ ছিল:

\e[1;32m

আমি এটিকে পরিবর্তন করেছি:

\[\e[1;32m\]

মূলত আপনাকে এটিকে আবদ্ধ করতে হবে:

\[$mycolor\]

এই উত্তরটি চেকআউট করুন ।


+1 ধন্যবাদ অদ্ভুতভাবে যথেষ্ট, এটি ম্যাক কাজ করবে বলে মনে হচ্ছে না।
— আদম মতান

আপনি জীবন রক্ষাকারী! ম্যাক হিসাবে, অ্যাডাম .. কলাম গণনার কারণে এটি সম্ভবত। প্রম্পটটিকে কেবল অক্ষরের একটি স্ট্রিংয়ে সেট করার চেষ্টা করুন, যেমন 'এটি আমার প্রম্পট:' এবং দেখুন সমস্যাটি বজায় রয়েছে কিনা। যদি তা হয় তবে আপনার টার্মিনালে আপনার কলামের সেটিংটি খুব প্রশস্ত বা খুব সংকীর্ণ।
— অ্যালেক্স গ্রীষ্ম

7

এই সমাধানটি অনলাইনে পাওয়া গেছে , যা রঙের ভেরিয়েবলগুলিতে বন্ধের বন্ধনীগুলির পরামর্শ দেয়:

এই পরিবর্তন:

Black='\e[0;30m'        # Black
Red='\e[0;31m'          # Red
Green='\e[0;32m'        # Green

প্রতি:

Black='\e[0;30m\]'        # Black
Red='\e[0;31m\]'          # Red
Green='\e[0;32m\]'        # Green

আমি পরিবর্তনটি প্রতিশ্রুতিবদ্ধ করেছি - আশা করি এটি প্রত্যাশার মতো কাজ করে।


1
নিশ্চিত না যে এটি কী অর্জন করবে supposed আপনাকে এমন কোনও জিনিস মুড়ে ফেলতে হবে যা স্থান গ্রহণ করবে না (আনসিসি - পলায়ন) \[ \], সুতরাং আপনি কেবল সমস্ত এএসসি-পালানোর রঙের সাথে শেষ করতে পারবেন না \]কারণ সেখানে যদি নেই তবে কী হয় \[। আপনি যখন মুদ্রণযোগ্য অক্ষরে অক্ষর রাখছেন, তখন আপনাকে কেবল এগুলি আবদ্ধ করা উচিত \[ \](যেমন PS1='\[\e[32;1m\] green prompt \[\e[0m\] $')।
— dylnmc

প্রকৃতপক্ষে! প্রারম্ভিক \ [ব্যতীত, এটি আমাদের লিনাক্স ব্যবহারকারীদের জন্য প্রম্পটটিকে সাহায্য করে। এটি কি ওএসএক্সের জন্য আলাদা? কি অদ্ভুত. \ [এবং \ ই [লিনাক্সের জন্য দুটি পৃথক জিনিস হিসাবে ব্যাখ্যা করা হয়। প্রথমটি ব্যাশকে নির্দেশ করে যে নীচের ক্রমটি অরক্ষিত এবং প্রম্পটের প্রদর্শিত অক্ষরের অংশ হিসাবে এটি গণনা করা নয়। AN e [হ'ল একটি এএনএসআই রঙের স্কিম শুরু করার জন্য পলায়ন বন্ধনী।
— অ্যালেক্স গ্রীষ্ম

0

ব্যাশ PS1 এ লম্বা লাইন ওভারল্যাপ ইস্যুতে আমার পছন্দসই সমাধানটি \nপিএস 1 প্রম্পট লাইন (গুলি) এর শেষে থাকা উচিত।

যেমন

এখানে চিত্র বর্ণনা লিখুন

আপনি যদি আমার অন্যান্য সমস্ত জিনিস চান - সময়, ব্যবহারকারী, হোস্ট, ডিরেক্টরি এবং গিট শাখা (!) আপনি এটি (ম্যাক বা লিনাক্স) ব্যবহার করতে পারেন:

/unix//a/124012/10043


গিট শাখার জন্য আপনার ব্যবহার করা উচিত if [[ $(git rev-parse --is-inside-git-dir 2> /dev/null) ]]; then branch="$( git symbolic-ref --short -q HEAD 2> /dev/null )"; fi। স্ক্রিপ্টে গিট রাখার সময় এবং আমি আগে যা পড়েছি তার থেকে শাখার নামটি মূল্যায়ন করার সময় এটি একটি মানদণ্ড।
— dylnmc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.