আমি কীভাবে আমার কমান্ড লাইন (বাশ) প্রম্পটটি সংক্ষিপ্ত করতে পারি?


167

বর্তমানে এটি:

michael@Castle2012-Ubuntu-laptop01:~/Dropnot/webs/rails_v3/linker/spec/controllers$

আমার মেশিন এবং ডিরেক্টরি কাঠামোর নামকরণের বাইরে ...

আমি কীভাবে এটি আরও কিছু হতে পারি:

michael:controllers$

উত্তর:


241

এটি কেবলমাত্র বর্তমান টার্মিনালের ক্ষেত্রে পরিবর্তন করতে

শুধু লিখুন PS1='\u:\W\$ 'এবং এন্টার টিপুন।


এটি "স্থায়ীভাবে" পরিবর্তন করতে

আপনার মধ্যে ~/.bashrc, নিম্নলিখিত বিভাগটি সন্ধান করুন:

যদি ["$ color_prompt" = হ্যাঁ]; তারপর
    PS1 = '$ {debian_chroot + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ তোমার দর্শন লগ করা @ \ জ \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ W \ [\ 033 [00 মি \] \ $ '
আর
    পিএস 1 = '$ {ডেবিয়ান_ক্রুট: + ($ দেবিয়ান_ক্রুট)} \ u @ \ এইচ: \ ডাব্লু \ $'
ফাই

অপসারণ করুন @\hএবং \wএকটি বড় হাতের সাথে প্রতিস্থাপন করুন \W, যাতে এটি হয়ে যায়:

যদি ["$ color_prompt" = হ্যাঁ]; তারপর
    PS1 = '$ {debian_chroot + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ তোমার দর্শন লগ করা \ [\ 033 [00m \]: \ [\ 033 [01; 34m \] \ ডব্লিউ \ [\ 033 [00 মি \] \ $ '
আর
    পিএস 1 = '$ {ডেবিয়ান_ক্রুট: + ($ দেবিয়ান_ক্রুট) \ \ ইউ: \ ডাব্লু \ $'
ফাই

সংরক্ষণ করুন, প্রস্থান করুন, টার্মিনালটি বন্ধ করুন এবং ফলাফল দেখতে অন্যটি শুরু করুন।


টন আরও বিকল্প!

  • আরও অনেক বিকল্পের সাথে আরও বিস্তৃতভাবে দেখতে এখানে দেখুন
  • প্রম্পট সেট করার জন্য একটি ক্ষুদ্র পাইথন স্ক্রিপ্ট ব্যবহার করার জন্য এই উত্তরটি দেখুন যাতে আপনি যখন কোনও ডিরেক্টরি কাঠামোর গভীরে থাকবেন তখনই সংক্ষিপ্তকরণটি ঘটে।

1
আপনার কাছে প্রচুর তথ্য থাকতে পারে ... এবং তারপরে ইউনিক্স.স্ট্যাকেকেক্সচেঞ্জ
মাইকেল

এটিকে বিশ্বব্যাপী করার কোনও উপায় আছে কি? অন্য কথায়, যদি আমি অন্য ব্যবহারকারীর কাছে সুডো করে থাকি তবে এই সেটিংটি চালিয়ে যেতে হবে তবে কেবল নিজের জন্য (যেমন, যখন তারা সাধারণত তাদের অ্যাকাউন্ট ব্যবহার করেন তবে ব্যবহারকারীর পক্ষে নয়)?
ctote

লিনাক্স এবং ওএসএক্স উভয় ক্ষেত্রেই কাজ করে এমন একটি শেয়ারড .Bashrc পাওয়ার
মাইকেল

অর্থাত্ HOST='\033[02;36m\]\h' HOST=' '$HOST parse_git_branch () { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'; } TIME='\033[01;31m\]\t \033[01;32m\]' LOCATION=' \033[01;34m\]pwd | সেড "এস # (/ [^ /] \ {1, \} / [^ /] \ {1, \} / [^ /] \ {1, \} /)। * (/ [^ /] \ { 1, \} / [^ /] {{1, \}) / \ {0,1 \} # \ 1_ \ 2 # জি "' BRANCH=' \033[00;33m\]$(parse_git_branch)\[\033[00m\]\n\$ ' PS1=$TIME$USER$HOST$LOCATION$BRANCH PS2='\[\033[01;36m\]>'
মাইকেল ডুরান্ট

তবে আসল কোডটি ব্যবহারের জন্য উত্তরটি দেখুন।
মাইকেল ডুরান্ট

104

বর্তমান টার্মিনালে এই কোডটি চালান

PROMPT_DIRTRIM=3

এখন বাশ প্রম্পটটি কেবল সর্বশেষ 3 ডিরেক্টরি নাম প্রদর্শন করবে। আপনি কেবল বর্তমান ডিরেক্টরি দেখানোর জন্য 1 টি চয়ন করতে পারেন। আরও তথ্য জিএনইউ ডকুমেন্টেশনে উপলব্ধ

প্রভাব:

/var/lib/apt/lists# PROMPT_DIRTRIM=3
/.../lib/apt/lists# 

আপনি যদি এটি স্থায়ীভাবে তৈরি করতে চান ~/.bashrcতবে শুরুতে নীচের লাইনটি যুক্ত করুন :

PROMPT_DIRTRIM=3

বা অন্য কোনও সংখ্যা শূন্যের চেয়ে বড়।


7
শুধু একটি sidenote এই ব্যাশ 4. প্রয়োজন
স্টিফান Lasiewski

ভাল ... আমি promptdir() { PROMPT_DIRTRIM=$1; }কেবল লাইভ সহজ করার জন্য এর জন্য (একটি ফাংশন সহ) একটি বাচ_লিয়াস যুক্ত করেছি ...
dgoosens

18

এটি আমার পছন্দের প্রম্পট সেটিং:

যুক্ত ~/.bashrc

PS1='[\u@\h \W]\$ '    

এটি দেখতে এরকম দেখাচ্ছে:

[user@hostname dirname]$

(চিহ্ন সহ একটি স্থান সহ $)


আমি প্রতিটি শব্দের মধ্যে কীভাবে একটি স্থান যুক্ত করব? এছাড়াও, আমি কি এটি রঙ করতে পারি?
ড্যানিয়েল স্প্রিংগার

6

ব্যক্তিগতভাবে আমি ব্যাশ প্রম্পটে কেবলমাত্র বর্তমান ফোল্ডারটিই দেখতে পছন্দ করি। আমি নিম্নলিখিত কমান্ড দিয়ে এটি করতে পারি:

PS1='\W\$ '

আপনি যদি প্রতিটি শুরুর পরে এটি কার্যকর করতে চান তবে উপরের কমান্ডটি আপনার ~ / .Bashrc এ যুক্ত করুন।


1

আমি বুঝতে পেরেছি এটি অত্যন্ত পুরানো তবে যেহেতু কেউই কোনও উপন্যাস তৈরির পরামর্শ দেয়নি আমি অনুভব করেছি যে আমি পোস্ট করব। ব্যাশ প্রম্পট এস্কেপ সিকোয়েন্সগুলি ব্যবহার করে আমি একটি উপাধি তৈরি করেছিshorten

ইন ~/.bash_aliasesএখানে আপনি প্রম্পট রঙ যা আপনি বাদ বা পরিবর্তন পছন্দের ভিত্তিতে আমিও টার্মিনাল যখন কমান কলিং পরিষ্কার করতে পারেন সেট করতে $ নীল Var লক্ষ্য করবেন।

alias c='clear'

alias shorten='PS1="$Blue$USER:\W$ "&& c'

ওপি'র পছন্দসই প্রম্পট স্ট্রিংটি অর্জন করতে:

alias shorten='PS1="$USER:\W$ "'

আমার ~/.bashrcঅনুলিপিগুলিতে রঙগুলি সংজ্ঞায়িত করা হয়েছে এবং https://wiki.archlinux.org/index.php/Color_Bash_Prompt থেকে আটকানো হয়েছে । একপাশে লক্ষ্য করুন কী কী কী পরিমাণে কোড রয়েছে? আমি শুধু এটি তাকিয়ে বিভ্রান্ত করছি।

Blue='\e[0;34m'         # Blue

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

2
"।" উপসর্গ একটি গোপন ডিরেক্টরি বা ফাইল নির্দেশ করে। টিলড "~" হ'ল vari HOM ভেরিয়েবলের সংক্ষিপ্ত রূপ। সুতরাং, "h / .bash_aliases" "/home/$USER/.Bash_aliases" এর কেবলমাত্র স্বল্প রূপ। ".Bash_aliases" খুলতে আপনি হয় টার্মিনালটি খুলতে পারেন এবং "gedit / home/$USER/.bash_aliases" বা "gedit ~ / .bash_aliases" টাইপ করতে পারেন বা আপনার হোম ডিরেক্টরিতে লুকানো ফাইলগুলি দেখতে সরাসরি ফাইল খুলতে এবং ফাইল খুলতে ctrl-h টাইপ করতে পারেন । আশা করি এইটি কাজ করবে. আপনি দরকারী উপস্বের জন্যও গুগল অনুসন্ধান করতে চাইতে পারেন।
অ্যালি কার্ভার

0

আমি আপনার প্রয়োজন অনুসারে পরিবর্তন করতে পারেন এমন একটি ফাংশন লিখেছি :

function termprompt() {
    PS1="${PS1//@\\h/}"     # Remove @host
    PS1="${PS1//\\w/\\W}"   # Change from full directory to last name
}

লাইনটি সম্পূর্ণরূপে গণনা করার ~/.bashrcপরে এই ফাংশনটি নীচে বা তার নিকটে রাখুন PS1

আপনি termpromptযখনই প্রম্পটটি সংক্ষিপ্ত করতে চাইবেন বা termpromptস্থিরত্বের জন্য আপনার নীচ থেকে ডাকলেন তখন আপনি টাইপ করবেন ~/.bashrc

অন্যান্য অনেক উত্তরের এই কৌশলটির সুবিধাটি হ'ল চারটি বিভিন্ন উপায়ে (এক্সটার্ম + নো-কালার, এক্সটার্ম + কালার, নো-এক্সটার্ম + ন-কালার, নো-এক্সটার্ম + কালার) .bashrcসেটআপ করতে পারেন PS1। এই উত্তরটি চারটি বর্তমান পদ্ধতি এবং সম্ভবত ভবিষ্যতের পদ্ধতিগুলিকে সমর্থন করে।

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

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