টার্মিনালে দেখানো বর্তমান ডিরেক্টরি পথটি কীভাবে সংক্ষিপ্ত করব?


17

আমি যদি একটি গভীর ডিরেক্টরিতে থাকি তবে আসুন বলি:

~/Desktop/Dropbox/School/2017/C/A3/

তারপর যখন আমি টার্মিনাল খুলি, এটি বলে

bob@bob-ubuntu:~/Desktop/Dropbox/School/2017/C/A3/$

এবং তারপরে আমি আমার আদেশ লিখি। এটি খুব দীর্ঘ, এবং আমি টার্মিনালে লিখি প্রতিটি লাইন পরের লাইনে যায়। আমি কোনও উপায় আছে কিনা তা জানতে চাই যাতে এটি কেবল আমার বর্তমান ডিরেক্টরিটি প্রদর্শন করে। আমি এটি প্রদর্শন করতে চান:

bob@bob-ubuntu: A3/$

এইভাবে এটি অনেক পরিষ্কার, এবং সর্বদা আমি pwdআমার সম্পূর্ণ ডিরেক্টরিটি দেখতে পারি। আমি কেবল পুরো ডিরেক্টরিটি টার্মিনালে দৃশ্যমান করতে চাই না কারণ এটিতে অনেক বেশি জায়গা লাগে।

উত্তর:


12

PS1আপনার শেল স্টার্টআপ ফাইলটিতে আপনাকে সংশোধন করতে হবে (সম্ভবত.bashrc ) ।

যদি এটি ইতিমধ্যে সেখানে থাকে তবে এর সেটিংটিতে এমনটি থাকবে \wযা আপনার কাজের ডিরেক্টরি দেয়। এটিকে \W(আপার ক্ষেত্রে) পরিবর্তন করুন । লগ আউট এবং আবার লগ ইন করুন, বা করুন:

. .bashrc

(বা আপনার ফাইল যাই হোক না কেন)

যদি এটি না থাকে তবে এর মতো কিছু যুক্ত করুন:

PS1='\u@\h: \W:\$'

থেকে .bashrcবা যাই হোক না কেন। খোঁজা PS1মধ্যেbash ম্যানুয়েল পৃষ্ঠা আরও আইডিয়ার জন্য।

সতর্ক হোন; bashএকাধিক সূচনা ফাইল ব্যবহার করতে পারে, যেমন .bashrcএবং .bash_profile; এটি PS1সিস্টেম-ব্যাপী একটিতে সেট করা হতে পারে । তবে আপনি নিজের ফাইলগুলিতে এটিকে ওভাররাইড করতে পারেন।


23

বাশ 4 এর পরে, কমান্ড-লাইনে ডিরেক্টরিটির গভীরতা সংক্ষিপ্ত করার সোজা উপায়টি আপনার বাশার্ক ফাইলটিতে নীচের কমান্ডটি ব্যবহার করছে। কেবলমাত্র আপনার টার্মিনালটি পুনরায় খোলার জন্য মনে রাখবেন এবং সংখ্যাটি (উদাহরণস্বরূপ 1) ডিরেক্টরিতে প্রদর্শন করার গভীরতাও নির্দিষ্ট করে।

PROMPT_DIRTRIM = 1


4
এটি ঠিক আমি যা খুঁজছিলাম is ভালো কিছু সেট export PROMPT_DIRTRIM=3আপনার .bashrcমধ্যে নিখুঁত মধ্যম স্থল হয় \Wএবং \w। দেখুন: gnu.org/software/bash/manual/html_node/Bash-Variables.html
spkane

3

ধরে নিচ্ছি আপনি বাশ ব্যবহার করছেন, প্রম্পট স্ট্রিংটি পরিবর্তন করুন (ভেরিয়েবল PS1) যাতে এটির \Wপরিবর্তে থাকে \w

যেমন যদি আপনার পিএস 1 বর্তমানে থাকে তবে \u@\h:\w\$এটিতে সেট করুন\u@\h:\W\$

এটি স্থায়ী করতে, আপনাকে এটি আপনার ব্যাশ স্টার্টআপ ফাইলগুলিতে পরিবর্তন করতে হবে - যেমন ~/.bash_profileবা ~/.bashrc

সম্পূর্ণ বিশদ এবং ব্যাকস্ল্যাশ-পলায়িত বিশেষ অক্ষরগুলির একটি তালিকা দেখুন man bashএবং অনুসন্ধান PROMPTINGকরুন।


আমার পিএস 1 এর 4 টি উল্লেখ আছে আমি কি সমস্ত 4 পরিবর্তন করি?
কে স্প্লিট এক্স

4 উল্লেখ কোথায়? ~ / .বাশ_প্রফাইলে? \wPS1 তে সমস্ত দৃষ্টান্ত পরিবর্তন করতে কোনও ক্ষতি করা উচিত নয় \W। অথবা আপনি স্ক্রিপ্টের নীচে আপনার পছন্দসই প্রম্পট সেট করতে পারেন।
ক্যাস

1

এই ক্ষেত্রে আপনাকে PS1 সম্পাদনা করতে হবে ,

অন্তর্নিহিত \w, আপনার একটি আদেশ বা একটি ভেরিয়েবল থাকবে যা সংক্ষিপ্ত পথ দেখায়:

আসল PS1

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$'

এটি পরিবর্তন করুন

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]${PWD##*/}\[\033[00m\]\$'

নোট করুন এটি আপনার ব্যবহারকারীর নামটি insteed put রাখবে যদি আপনি আপনার বাড়ির dir এ থাকেন!

এড়াতে আপনার $ {PWD ## * /} উদাহরণস্বরূপ কয়েকটি কমান্ডের প্রয়োজন হবে

if [[ "${PWD}" == "${HOME}" ]] ; then printf \~; else echo -n ${PWD##*/}; fi

নতুন PS1 নীচের মত দেখতে হবে

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]`if [[ "${PWD}" == "${HOME}" ]] ; then printf \~; else echo -n ${PWD##*/}; fi`\[\033[00m\]\$'

ওপস যখন আমি বিশ্বকে বাঁচানোর চেষ্টা করছি তখন আমার নোডিয়া ছিল | ডাব্লু ডাব্লু ভুলে গিয়েছিলেন


1

এটি সমস্ত shশেলের কাছে বহনযোগ্য ।

নির্ধারিত PS1আপনার শেল প্রারম্ভকালে ফাইল এক:

PS1='${PWD##*/} $ '

প্রম্পটটি দেখতে হবে

dir $

dirবর্তমান ডিরেক্টরিটির বেস নাম Where

$PWDপরিবর্তনশীল বর্তমান ডিরেক্টরী পথ রয়েছে এবং ${PWD##*/}সবকিছু আপ স্ট্রিপ ও শেষ সহ হবে/ যে পথে।

একক উদ্ধৃতি অ্যাসাইনমেন্টের সময় পরিবর্তনশীল প্রতিস্থাপনের মূল্যায়ন শেল ফর্মকে বাধা দেয় ( $PS1প্রতিটি সময় প্রম্পট প্রদর্শিত হবে তার মানটি মূল্যায়ন করা হবে)।

PS1পরিবর্তনশীল যেমন শুধুমাত্র বর্তমান শেল দ্বারা ব্যবহৃত হচ্ছে রপ্তানি করা উচিত নয়।


0

https://github.com/chrissound/SodiumSierraStrawberry

আপনাকে এমন একটি পথ ছাঁটাই করার অনুমতি দেয়:

থেকে: / হোম / সোডিয়াম / প্রকল্পগুলি / ব্যক্তিগত / সিয়েরা / সুপার / লং / পাথ / হলিভ্যাকাদো

প্রতি: »প্রকল্পগুলি / সিয়ে… / সুপার… / লোন… / প্যাট… / হলিভাভাকাদো /

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