কিভাবে বাশ প্রম্পট নির্দিষ্ট অংশ রং?


2

আমি একটি ম্যাকবুক OSX এ কাজ করছি এবং আমি আমার মেশিনের ভিতরে কিছু ভিএম পরিচালনা করছি। আমি প্রায়ই ভুল করি কারণ সকল প্রম্পট একই রং এবং টাইপ থাকে, তাই আমি তাদের আলাদা করতে চাই।

সর্বোপরি, আমি করতে চাই root অ্যাকাউন্টটি লাল রঙে প্রদর্শিত হয় কারণ এটি নিজের দ্বারা বিপদ!

দ্বিতীয়ত, আমি আমার সার্ভারগুলির সাথে সম্পর্কিত রঙের আইপি ঠিকানাগুলি সক্ষম করতে চাই, উদাহরণস্বরূপ "mywebserver.local" (যার ঠিকানাটি / etc / hosts এর ভিতরে অবস্থিত) এবং "192.168.54.1"।

আমি এখন কি ব্যবহার করছি:

green=$(tput setaf 2);
yellow=$(tput setaf 3);
reset=$(tput sgr0);

PS1='\['"$green"'\]\u\['"$reset"'\]@\['"$yellow"'\]\h:\W\$:\['"$reset"'\] '

যা শুধুমাত্র আংশিকভাবে আমি কি চাই। আমি কিভাবে শর্ত লিখুন?


"PS1" (এবং ... 2, 3, 4) এবং "PROMPT_COMMAND" এর জন্য সন্ধান করুন tldp.org/LDP/abs/html/abs-guide.html কিছু টিপস জন্য।
Hannu

উত্তর:


0

আপনি এটি হতে চান কিভাবে এই:

[ $USER = root ] && PS1="\033[0;40;1;91[ root > ]\033[0;1;94m " || {
    HOST=`hostname`
    if [ $HOST = 'mammothpc_prehistoric' ] ; then
        PS1=...
    elif [ $HOST = 'progueing_alone' ] ; then
        PS1=...
    elif [ $HOST = 'guru_pro_server' ] ; then
        PS1=...
    else
        echo 'Error 404 : no such errors found.'
        PS1=... 
}

পরিবর্তে, যাইহোক, আপনি কিছু রঙের পরিবর্তনশীলও নির্ধারণ করতে পারেন এবং পুরো স্কীমটিকে আরও নির্দিষ্ট করতে পারেন PS1:

PS1="$FG[ $USER@$HOST ] : $reset"

Tbh, আমি এটা কাজ দেখতে না।
Radolino

@ রবডেল এটা অবশ্যই কাজ করবে। অন্যথায় আপনি এটি ওভাররাইড করেছেন বা মৃত্যুদন্ড কার্যকর করেন নি। এছাড়াও, আপনার ডিভাইসগুলির মধ্যে সিঙ্ক হওয়া আপনার কী আরসি ফাইল আছে। এই খুব সহজ স্ক্রিপ্ট কাজ করা হয় না। এছাড়াও, চেক করুন যে আপনি '... এর মতো অন্য কিছুতে পরিবর্তন করেছেন [ $HOST = ... ]। এছাড়াও, চেক করার চেষ্টা করুন echo $HOST নিয়োগের পরে। ব্যর্থতার আরেকটি কারণ হয়তো আপনি ভুল টাইপ করেছেন।
theoden

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