টার্মিনাল প্রম্পট আপ-তীরটিতে নির্দিষ্ট কমান্ডগুলি 'সংরক্ষণ' করে


5

মজা করার জন্য আমি আমার প্রম্পটে সামান্য শেল স্ক্রিপ্টিং যুক্ত করেছি। এটি এলোমেলোভাবে প্রম্পট আইটেমগুলির রঙকে পরিবর্তিত করে। আমি এটি খাঁটিভাবে করেছি কারণ একটি ধূসর পর্দা কিছুক্ষণ পরে বিরক্ত হয়ে যায়। নিম্নলিখিতটি .ব্যাশ-প্রোফাইলে আমার প্রম্পট:

function next_hue
{
    color1=$((31 + (++color % 7)))   # set 31 to 30 for dark on light
    color1=$((31 + (++color % 7)))
    PS1="\n\e[0:${color}m[\W]\n\e[0:${color}m[\u]-> $reset" # set 1 to 0 for     dark on light
}

এটি আমার প্রম্পটের রঙকে পরিবর্তিত করে। হ্যাঁ!

সমস্যাটি হ'ল কখনও কখনও শেলটি "আটকে" যায়। উদাহরণস্বরূপ, শেলটি সাধারণত এটির মতো হয়:

directory
[username]->

আমি যদি docker runকমান্ডটি সম্প্রতি চালিয়েছি এবং আমি ইতিহাসে আপ-আপ করেছি,, ডকার রান আটকে যায় এবং আমি এটি দিয়ে শেষ করি:

directory
[username]->docker run

আমি যদি একটি নতুন কমান্ড যুক্ত করি তবে এটি স্ট্যাক করে docker run:

directory
[username]->docker runcd /some/path

আমাকে ctrl-cবা এ জাতীয় কিছু বিকল্প ব্যবহার করতে হবে এবং আমি docker-runযদি কমান্ডটি না দিয়ে আবার ব্যবহার না করতে পারি তবে আমি এটি সমস্ত টাইপ না করেই । কী কারণে এই ত্রুটি ঘটতে পারে? আমি আমার প্রম্পটটি বেশ খানিকটা দেখেছি এবং আমি মনে করি এটি ঠিক আছে, তবে এটি প্রথম স্থানে খুঁজে বের করার জন্য বিভ্রান্তিকর হয়েছিল।


আপনি কোথা next_hueথেকে ফোন করবেন ?
nohillside

আমি মনে করি না এটি আপনার প্রম্পটের সাথে সম্পর্কিত। সম্ভবত আপনার ~ / .inputrc কমান্ডের ইতিহাসের সাথে বিশৃঙ্খলা নিয়ে কিছু অদ্ভুত কিছু রয়েছে is
jmhindle

উত্তর:


2

আপনি আপনার প্রম্পটে মুদ্রণবিহীন অক্ষরগুলি থেকে বেরিয়ে আসছেন না। এই নিবন্ধটি দেখুন , এবং রঙগুলির চারপাশে " \[" এবং " \]" ব্যবহার করুন, উদাহরণস্বরূপ এর মতো কিছু (অপরিবর্তিত) ...

PS1="\n\e[0:\[${color}\]m[\W]\n\e[0:\[${color}\]m[\u]-> $reset"

আপনি এটি টুইট করতে পারে। যেমনটি আমি বলেছিলাম, এটি অনির্ধারিত তাই আমি \]একটি রঙের কোডের মাঝখানে একটি " " প্রবেশ করিয়ে দিতে পারি । আমার প্রম্পটের জন্য আমি যখন রঙের ভেরিয়েবলগুলি শুরু করি তখন আমি পালাতে পারি:

PS1_FG="\[$(tput setaf 223)\]"  # Prompt foreground colour (223 = pale orange/brown)

এটির মূল্য কী তা জন্য, tputআপনি যখন নিয়ন্ত্রণ কোডগুলি ব্যবহার করেন তখন আমি অত্যন্ত ব্যবহার করার পরামর্শ দিতে পারি । এটি আপনার স্ক্রিপ্টগুলি আরও বহনযোগ্য করে তোলে এবং (আইএমএইচও) পড়া সহজ।

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