টার্মিনালে বর্তমান ওয়ার্কিং ডিরেক্টরিটি লুকান


133

ডিফল্ট হিসাবে, টার্মিনাল প্রম্পটটি এরকম কিছু দেখায়:

user@system:/folder1/folder2/folder3/folder4$

আপনি ফাইল সিস্টেমে যত গভীর যান, কমান্ড টাইপ করার জন্য কম স্থান বাকি থাকে। আমি কি কেবল এটির মতো কিছু দেখানোর জন্য এটি পরিবর্তন করতে পারি:

>

মানে, আমি pwdকোথায় আছি তা দেখাতে কেবল টাইপ করতে পারি। ;)


1
এটি একটি মন্তব্য হওয়া উচিত তবে আমি মন্তব্য করতে পারি না, দুঃখিত। বর্তমান ডিরেক্টরিটি গোপন করার পাশাপাশি, নিম্নলিখিত PS1 মানটি আপনার ব্যাশ কমান্ডগুলি দুর্দান্তভাবে পৃথক করবে:export PS1="\n___"
হ্যালো ওয়ার্ল্ড

অলির সমাধানগুলিতে পরীক্ষিত। টার্মিনালে রঙের ফন্টগুলি ভালভাবে কাজ করে: PS1 = '[\ 033 [0; 35m] \ h [\ 033 [0; 33 মি]] ডাব্লু [\ 033 [00 মি]:'
লিনবিয়ান্সিয়াওকাও

উত্তর:


153
export PS1='\u@\h: '

এটি oli@bert:আমার প্রম্পটের জন্য ফলাফল ।

আপনি চাইলে আপনি যদি সংখ্যালঘু হিসাবে কিছু চান তবে এটি চেষ্টা করুন:

export PS1='> '

~/.bashrcএটি লগইনগুলির মধ্যে স্থির রাখতে আপনার ফাইলের শেষে এটি সংযুক্ত করতে পারেন।

আপনি কিছু রঙ দিয়ে সৃজনশীলও পেতে পারেন। আমি আমার সার্ভারগুলিতে যা ব্যবহার করি তা এখানে:

export PS1='\[\033[0;35m\]\h\[\033[0;33m\] \w\[\033[00m\]: '

প্রদান (পুরো কালো পটভূমিতে দেখতে এটি আরও সহজ):

আমার টার্মিনালগুলি

পিএস 1-তে গ্রহণযোগ্য চরিত্রগুলির শব্দকোষ


2
প্রম্পটের অংশ হিসাবে আপনার কাছে নতুন লাইনও (\ n) থাকতে পারে, যাতে আপনি পৃথক লাইনে সমস্ত তথ্য এবং '>' রাখতে পারেন।
ak2

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

3
রঙ সেট আপ করার জন্য ব্যবহৃত বিন্যাসটি কী?
রাকিব

1
@ সৈয়দরাকিব আলহাসান চেষ্টা করুন echo -e "\e[31mHello World\e[0m"বা echo -e "\033[31mHello\e[0m World"টার্মিনালে, এটি আপনাকে একটি ক্লু দেবে। উত্স
ডাকা

103

অলির উত্তরটি প্রসারিত করার জন্য (এবং যাতে এই স্বল্প হাতের প্রতীকগুলির জন্য আমার একটি বুকমার্ক থাকে):

বাশ প্রম্পট ( stefano@linux:~$) আপনি দেখতে পাবেন এমন দু'টি প্রম্পটের মধ্যে কেবল প্রথম:

  • পিএস 1 : আপনি শেল খুললে ডিফল্ট প্রম্পটটি দেখতে পাবেন

    এটির মান একটি পরিবেশে পরিবর্তনশীল বলা হয় PS1। এর মান দেখতে, টাইপ করুন

    echo $PS1

    এটি আপনাকে এরকম কিছু দেবে

    \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

    এটি পরিবর্তন করতে, আপনি ভেরিয়েবলের জন্য একটি নতুন মান সেট করতে পারেন:

    export PS1="\u > "

    এর ফলে এইরকম একটি অনুরোধ জানানো হবে:

    stefano > 
  • পিএস 2 : আপনার মাধ্যমিক প্রম্পট। কমান্ড শেষ না হলে এটি প্রদর্শিত হয়। টাইপ করুন echo "asdএবং এন্টার টিপুন, গৌণ প্রম্পট আপনাকে উল্টানো কমাগুলি বন্ধ না করা পর্যন্ত আপনাকে আরও লাইন প্রবেশ করতে দেবে।

  • PS3 হল (2) এর জন্য প্রম্পটselect

  • PS4 হ'ল বিকল্প পাঠ স্ট্যাক ট্রেসগুলির জন্য ব্যবহৃত প্রম্পট (ডিফল্ট +:)

পরিবর্তনগুলি স্থায়ী করতে, আপনি এগুলি আপনার নিজের ডিরেক্টরি ডিরেক্টরিতে .bash_profile(বা .bashrc, এই প্রশ্নটি দেখুন ) শেষে যুক্ত করুন ।

এখানে কমপক্ষে শর্টহ্যান্ডের সম্পূর্ণ তালিকা রয়েছে যা আপনি এটি রচনা করার সময় ব্যবহার করতে পারেন:

  • \a     'বেল' চরিত্রটি
  • \A     24 ঘন্টা সময়
  • \d     তারিখ (উদাহরণস্বরূপ মঙ্গলবার 21 ডিসেম্বর)
  • \e     'পালানো' চরিত্র
  • \h     হোস্ট-নেম (প্রথম "।" পর্যন্ত)
  • \H     হোস্টনাম
  • \j     বর্তমানে চলছে চাকরির সংখ্যা (পিএস)
  • \l     বর্তমান tty
  • \n     লাইন ফিড
  • \t     সময় (এইচ: মিমি: এসএস)
  • \T     সময় (এইচ: মিমি: এসএস, 12 ঘন্টা ফর্ম্যাট)
  • \r     গাড়ি ফেরত
  • \s     শেল (যেমন বাশ, জেডএস, কেএস ..)
  • \u     ব্যবহারকারীর নাম
  • \v     বাশ সংস্করণ
  • \V     সম্পূর্ণ বাশ রিলিজ স্ট্রিং
  • \w     বর্তমান কার্যকারী ডিরেক্টরি
  • \W     বর্তমান কার্যনির্বাহী ডিরেক্টরিটির শেষ অংশ
  • \!     ইতিহাসের বর্তমান সূচক
  • \#     কমান্ড সূচক
  • \$     একটি "#" যদি আপনি মূল হন, অন্যথায় "$"
  • \\     আক্ষরিক ব্যাকস্ল্যাশ
  • \@     সময় (am / pm সহ 12 ঘন্টা ফর্ম্যাট)

আপনি অবশ্যই কোনও আক্ষরিক স্ট্রিং এবং যে কোনও আদেশ সন্নিবেশ করতে পারেন:

export PS1="\u \$(pwd) > "

যেখানে $(pwd)পিডাব্লুডির "আউটপুট" এর জায়গায় দাঁড়িয়ে আছে।

  • যদি কমান্ড প্রতিস্থাপনটি পালিয়ে যায়, যেমন হিসাবে \$(pwd), প্রতিবার প্রম্পট প্রদর্শিত হওয়ার সময় এটি মূল্যায়ন করা হয়, অন্যথায় যেমন $(pwd), বাশ শুরু হওয়ার পরে এটি কেবল একবার মূল্যায়ন করা হয়।

আপনি যদি আপনার প্রম্পটটি রঙিন বৈশিষ্ট্যযুক্ত করতে চান তবে আপনি এটি করতে ব্যাশের রঙ কোডগুলি ব্যবহার করতে পারেন। কোডটি তিনটি অংশ নিয়ে গঠিত:

40;33;01
  • সেমিকোলনের আগে প্রথম অংশটি পাঠ্য শৈলীর প্রতিনিধিত্ব করে।

    • 00 = কেউ
    • 01 = সাহসী
    • 04 = আন্ডারস্কোর
    • 05 = চোখ পিট পিট
    • 07 = বিপরীত
    • 08 = গোপন
  • দ্বিতীয় এবং তৃতীয় অংশটি রঙ এবং পটভূমি রঙ:

    • 30 = কালো
    • 31 = লাল
    • 32 = সবুজ
    • 33 = হলুদ
    • 34 = নীল
    • 35 = ম্যাজেন্টা
    • 36 = সায়ান
    • 37 = সাদা

বাম দিক থেকে শুরু করে ধরে নিয়ে প্রতিটি অংশ বাদ দেওয়া যেতে পারে। অর্থাত "1" এর অর্থ গা bold়, "1; 31" এর অর্থ গা bold় এবং লাল। এবং আপনি আপনার টার্মিনালটি রঙের সাথে মুদ্রণের জন্য নির্দেশটি দিয়ে পালিয়ে \33[এবং এটি দিয়ে শেষ করে পাবেন m। হেক্সাডেসিমালে 33, বা 1 বি, হ'ল এএসসিআইআই সাইন "ইস্কাপ" (এএসসিআইআই চরিত্রের সেটটিতে একটি বিশেষ অক্ষর)। উদাহরণ:

"\33[1;31mHello World\33[m"

উজ্জ্বল লালতে "হ্যালো ওয়ার্ল্ড" মুদ্রণ করে।


আমি যোগ export PS1='\[\033[1;31m\]\w\[\033[00m\] \$> 'করতে /etc/bash.bashrcকিন্তু কিছুই ... এটা সেশন প্রতি একটি উপর কাজ করার ধরন পাল্টে করলো, কিন্তু আমি নাকিসুরে কথা এটা স্থায়ী করা বলে মনে হচ্ছে।
জ্যারেড ট্রিটসচ

8

আরেকটি বিকল্পটি হ'ল কার্যকরী ডিরেক্টরিটি খুব দীর্ঘ হয়ে যাওয়ার সময় সংক্ষিপ্ত করা: টার্মিনাল কমান্ড প্রম্পট ওয়ার্কিং ডিরেক্টরিটি ছাঁটাই

একটি ছোট অজগর স্ক্রিপ্ট তৈরি করুন যা কাঙ্ক্ষিত ছাঁটাই যুক্তি প্রয়োগ করে।

উদাহরণ: ~ / short.pwd.py

import os
from commands import getoutput
from socket import gethostname
hostname = gethostname()
username = os.environ['USER']
pwd = os.getcwd()
homedir = os.path.expanduser('~')
pwd = pwd.replace(homedir, '~', 1)
if len(pwd) > 30:
    pwd = pwd[:10]+'...'+pwd[-20:] # first 10 chars+last 20 chars
print '[%s@%s:%s] ' % (username, hostname, pwd)

এখন এটি একটি টার্মিনাল থেকে পরীক্ষা করুন:

export PROMPT_COMMAND='PS1="$(python ~/.short.pwd.py)"'

আপনি যদি ফলাফলটির সাথে ঠিক থাকেন তবে কেবল আপনার। / .Bashrc এ কমান্ড যুক্ত করুন


এক্সা ... short / সংক্ষেপ.pwd.py, রফতানি ... ~ / .short.pwd.py আমি মনে করি উভয়কে একই হতে হবে। হয় আপনি উভয় জায়গায় একটি অতিরিক্ত কমান্ড রেখেছেন বা আপনি এটি মোটেও করেন না। তবে এটি একটি দুর্দান্ত উত্তর ..
মাইক্রোফডি

7

আমি প্রায়শই অস্থায়ীভাবে এটি করতে চাই। আমি যা করি তা এখানে:

$ export OLD_PS1=$PS1                    # save Long Prompt to OLD_PS1
$ export PS1="\u > "export PS1="\u $ "   # change to PS1 to Short Prompt
$ export PS1=$OLD_PS1                    # restore Long Prompt to PS1

আমি আশা করি এটা কারো সাহায্যে লাগবে.


1

ম্যাকোস ব্যবহারকারীদের জন্য:

open ~/.bash_profile

ফাইলের শেষে নীচের লাইনটি যুক্ত করুন এবং এটি সংরক্ষণ করুন

export PS1='\u:\w\$ '

হোম ডিরেক্টরিতে ফলাফল:

user: ~$

আপনি বর্তমান ওয়ার্কিং ডিরেক্টরি জন্য ব্যবহারকারীর জন্য এখানে $ প্রদর্শিত হবে প্রম্পট

আপনি নিম্নলিখিত শৈলী চেষ্টা করতে পারেন:

export PS1='$ '

প্রম্পট হিসাবে ঠিক আছে, অন্য কিছুই। যেমন:

$ 

0

আমাকে যে জিনিসটি সাহায্য করেছিল তা হ'ল: PS1 = 'export' রফতানি করুন

প্রতিবার টার্মিনালটি খোলার জন্য, .bashrc এর শেষে কমান্ডটি লিখুন যা আপনি 'সিডি' দিয়ে 'জিডিট .বাশার্ক' এর পরে খুলতে পারবেন।

আশাকরি এটা সাহায্য করবে. আমার জন্য কাজ করেছেন।

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