বাশ পিএস 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.