বাশ PS1 সেটআপ


9

আমি নিম্নলিখিত হিসাবে PS1 কনফিগার করার চেষ্টা করছি।

সবুজ = "\ [\ ই [32; 1 মি \]"
রেড = "\ ই [0; 31m"
বেগুনি = "\ ই [0; 35 মি"
STARTCOLOR = "\ [\ ই [40m \]"
ENDCOLOR = "\ [\ ই [0 মিনিট \]"
PS1 = "$ STARTCOLOR $ সবুজ \ u @ ple বেগুনি \ h $ লাল $ w $ সবুজ> $ সমাপ্তি" রফতানি করুন

এবং আমি কিছু প্রশ্ন আছে।

  • "[\ ই [32; 1 মি]" এবং \ ই [32; 1 মি "এর মধ্যে পার্থক্য কী? সেগুলি কি একই রকম?
  • 'এক্সপোর্ট পিএস 1' কমান্ডটি চালানোর পরে এটি ভালভাবে কাজ করে, তবে যখন আমি 20 টি অক্ষরের আশেপাশে ইনপুট দেব তখন অক্ষরগুলি আমার সংযুক্তি হিসাবে ওভাররাইট করা হবে। এতে দোষ কী?
  • STARTCOLOR (\ ই [40m) / ENDCOLOR (\ ই [0 মি) এর অর্থ কী?

http://a.imageshack.us/img8/606/resultqm.jpg

যোগ করা হয়েছে

কিছু পরীক্ষার পরে, আমি নিম্নলিখিত পরিবর্তনটি সমস্যার সমাধান করতে পারলাম। অর্থাৎ, "\ ই" ফর্ম্যাটটি "\ [\ e" ফর্ম্যাট দ্বারা প্রতিস্থাপন করা উচিত।

লাল = "\\ ই [1; 31 মি" - কাজ করছে না
লাল = "\ [\ ই [1; 31 মি \]" - কর্মরত

উত্তর:


12

প্রম্পট সেট করার জন্য আমার একটি সহায়ক ফাংশন রয়েছে এবং আমি এস্কেপ কোডের রেফারেন্সগুলি সন্ধানের জন্য বেশি সময় ব্যয় করতে চাই না, তাই আমি এতে সমস্ত পাঠ্য রঙের মান কোড করে রেখেছি।

function set_prompt ( )
{
    # Prompt setup
    # ##################

    # Black            \e[0;30m
    # Blue             \e[0;34m
    # Green            \e[0;32m
    # Cyan             \e[0;36m
    # Red              \e[0;31m
    # Purple           \e[0;35m
    # Brown            \e[0;33m
    # Gray             \e[0;37m
    # Dark Gray        \e[1;30m
    # Light Blue       \e[1;34m
    # Light Green      \e[1;32m
    # Light Cyan       \e[1;36m
    # Light Red        \e[1;31m
    # Light Purple     \e[1;35m
    # Yellow           \e[1;33m
    # White            \e[1;37m

    local COLOR_DEFAULT='\[\e[0m\]'
    local COLOR_BLACK='\[\e[0;30m\]'
    local COLOR_BLUE='\[\e[0;34m\]'
    local COLOR_GREEN='\[\e[0;32m\]'
    local COLOR_CYAN='\[\e[0;36m\]'
    local COLOR_RED='\[\e[0;31m\]'
    local COLOR_PURPLE='\[\e[0;35m\]'
    local COLOR_BROWN='\[\e[0;33m\]'
    local COLOR_GRAY='\[\e[0;37m\]'
    local COLOR_DARK_GRAY='\[\e[1;30m\]'
    local COLOR_L_BLUE='\[\e[1;34m\]'
    local COLOR_L_GREEN='\[\e[1;32m\]'
    local COLOR_L_CYAN='\[\e[1;36m\]'
    local COLOR_L_RED='\[\e[1;31m\]'
    local COLOR_L_PURPLE='\[\e[1;35m\]'
    local COLOR_YELLOW='\[\e[1;33m\]'
    local COLOR_WHITE='\[\e[1;37m\]'

    local PS1_SET_TITLE='\[\e]0;\w\a\]'

    local PS1_SET_TIME="${COLOR_DEFAULT}\t"
    local PS1_SET_RET_CODE="${COLOR_L_RED}(\$?)"
    local PS1_SET_USER="${COLOR_L_GREEN}\u@\h"
    local PS1_SET_PWD="${COLOR_YELLOW}\w"

    local PS1_LN_1="${PS1_SET_TITLE}\n"
    local PS1_LN_2="${PS1_SET_TIME} ${PS1_SET_RET_CODE} "
    local PS1_LN_2="${PS1_LN_2}${PS1_SET_USER} ${PS1_SET_PWD} ${COLOR_DEFAULT}\n"

    echo "${PS1_LN_1}${PS1_LN_2}"
}

তারপরে আপনি এটি করতে পারেন:

PS1=$( set_prompt )

# Use '#' for root shell
export PS1=${PS1}'$ '

unset -f set_prompt

এখানে লিঙ্কটি যা ভিটি 100 এর টার্মিনাল কোডগুলি ব্যাখ্যা করে: http://www.termsys.demon.co.uk/vtansi.htm

\[- প্রিন্টিং-না-অক্ষরগুলির ক্রম শুরু করুন - অ-প্রিন্টিং অক্ষরের
\]শেষ ক্রম

  • "[\ ই [32; 1 মি]" এবং \ ই [32; 1 মি "এর মধ্যে পার্থক্য কী? সেগুলি কি একই রকম?

একই নয় এবং এটি হওয়া উচিত \[\e[32;1m\]'. Without[] `এটি কনসোলে ক্রমটি মুদ্রণের চেষ্টা করবে।

  • STARTCOLOR (\ ই [40m) / ENDCOLOR (\ ই [0 মি) এর অর্থ কী?

STARTCOLOR, মানে কালোতে ব্যাকগ্রাউন্ড সেট করুন, ENDCOLOR এর অর্থ সমস্ত পাঠ্য বৈশিষ্ট্য পুনরায় সেট করুন, যার অর্থ 'আমাকে ডিফল্ট কনসোল রঙ দিন'


+1 খুব সুন্দর !!! কিছু মনে করবেন না আমি এটিকে আমার বাশার্কে অনুলিপি করছি :)
এডেলশেল


1
\$রুট এবং অ-মূল ইঙ্গিতের মধ্যে স্বয়ংক্রিয়ভাবে স্যুইচ করতে ব্যবহার করুন ।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

9

বাশ ম্যানুয়াল থেকে:

\[    প্রিন্টিং-না-অক্ষরগুলির ক্রম শুরু করুন, যা প্রম্পটে
\]    প্রান্তে একটি টার্মিনাল নিয়ন্ত্রণ ক্রম এম্বেড করতে ব্যবহৃত হতে পারে প্রিন্টিং-অক্ষর বিন্যাসের ক্রম

\[এবং \]টার্মিনালে পাস করা হয় না। তারা বাশকে বলে যে তাদের মধ্যে চরিত্রগুলি মুদ্রিত হতে যাচ্ছে না। এগুলি ছাড়া বাশ জানতে পারে না যে পলায়ন চরিত্রের অনুসরণকারী ক্রম (ই, জি। [32;1m) অন স্ক্রিনে কোনও স্থান গ্রহণ করে না, যা ব্যাখ্যা করে যে কেন আপনি প্রম্পটের দৈর্ঘ্যটি সঠিকভাবে গণনা করেননি যখন আপনি সেগুলি ছেড়ে গিয়েছিলেন।

নোট করুন যে আপনি আপনার প্রশ্নে খুব সামঞ্জস্যপূর্ণ হন নি (বা সম্ভবত এটি মার্কডাউনের সাথে কেবল ভুল); আপনার একটি আক্ষরিক ব্যাকস্ল্যাশ-বন্ধনী ক্রম থাকা দরকার $PS1, কেবল একটি বন্ধনী নয় (যা আক্ষরিকভাবে প্রদর্শিত হবে)।

\eটানা টার্মিনাল এমুলেটর দ্বারা শুরু পলায়ন ক্রমগুলি ব্যাখ্যা করা হয়। এগুলি এক্সটার্ম কন্ট্রোল সিক্যুয়েন্স (সিটিএলসেক্স) নথিতে নথিভুক্ত করা হয় (অন্যান্য টার্মিনাল এমুলেটরগুলি বেশিরভাগ ক্ষেত্রে সামঞ্জস্যপূর্ণ হতে পারে)। উদাহরণস্বরূপ, \e[32;1mগা bold় এবং সবুজ অগ্রভাগে স্যুইচ করা; \e[40mপটভূমির রঙটি কালোতে পরিবর্তন করে; \e[0mডিফল্ট বৈশিষ্ট্য পুনরুদ্ধার।


3

বেশিরভাগ আধুনিক টার্মিনাল এমুলেটরগুলি প্রদর্শনের বিভিন্ন দিক নিয়ন্ত্রণ করতে এএনএসআই এস্কেপ কোডগুলি ব্যবহার করতে সক্ষম হয়।

বেশিরভাগ এএনএসআই কোড 2-অক্ষর কোড ESC- দিয়ে শুরু হয় [এটি পলায়ন অক্ষর (ASCII দশমিক 27) এবং তারপরে ওপেন স্কোয়ার বন্ধনী অক্ষর। এই ক্রমটি সিএসআই বা নিয়ন্ত্রণ সিকোয়েন্স ইনিয়েটার হিসাবেও পরিচিত।

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

পাঠ্যের রঙ পরিবর্তন করা এএনএসআই সেট গ্রাফিক্স মোড কমান্ডটি ব্যবহার করে:

\e[<value>m

যেখানে <value>আধা-কলোন দ্বারা পৃথক করা মানগুলির তালিকা থাকতে পারে ( ;)। সাধারণত কেবলমাত্র একটি মান ব্যবহৃত হয়, যদিও গা attrib় বৈশিষ্ট্যটি রঙ বৈশিষ্ট্যের সাথে একত্রে কার্যকর।

আলেকজান্ডার পোগ্রেবন্যাকের উত্তরে তালিকাভুক্ত মানগুলির দিকে তাকানো, আধা-কোলনের আগে 0 বা 1 সাহসী বা না নির্বাচন করার জন্য:

\e[1m  # bold
\e[5m  # blink
\e[0m  # all attributes off

এখানে কোডগুলির একটি দরকারী তালিকা রয়েছে http://ascii-table.com/ansi-escape-sequences.php

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