কীভাবে বাশ প্রম্পটে টিলডে এড়ানো যায়?


12

আমি টিএসডিকে PS1 ভেরিয়েবলের মধ্যে প্রদর্শন থেকে সরাতে চাই।

আমার বর্তমান PS1 স্ট্রিং:

PS1="\h:\w\n$"

এবং প্রম্পটটি এর মতো দেখাচ্ছে:

lnx-hladky:/tmp/plugtmp
$

আমি পছন্দ করি না যে $ হোম ডিরেক্টরিটি টিলড হিসাবে প্রদর্শিত হয়। এড়ানো যায়?

এটি সমস্যা সৃষ্টি করে, উদাহরণস্বরূপ:

lnx-hladky:~/DOC
$  

ডকুমেন্টেশন বলে:

\w : the current working directory, with $HOME abbreviated with a tilde 
\W: the basename of the current working directory, with $HOME abbreviated with a tilde

Avoid হোম টিলডের সাথে সংক্ষেপিত হওয়ার এড়াতে কি কোনও সম্ভাবনা আছে?

আমি চারপাশে একটি উপায় খুঁজে পেয়েছি তবে আমার মনে হচ্ছে এটি অত্যধিক জটিল:

PROMPT_COMMAND='echo -ne "\e[4;35m$(date +%T)\e[24m$(whoami)@$(hostname):$(pwd)\e[m\n"'
PS1=$

এর চেয়ে ভাল সমাধানের প্রস্তাব কি কেউ দিতে পারেন? আমার একটি অনুভূতি আছে যে কেবলমাত্র প্রম্পট পাওয়ার জন্য এতগুলি কমান্ড চালানো মোটেই ঠিক নয়। (তারিখ, whoami হোস্ট নামের, PWD)।


উদাহরণস্বরূপ টিলড কী "সমস্যা" সৃষ্টি করে?
জেবালিন

উত্তর:


11

বাশ প্রম্পটে প্রসারিত করে; কেবল তাদের পালাতে নিশ্চিত করুন।

PS1='\h:$(pwd)\n$'

যে আমার প্রশ্নের উত্তর। আমি জানতাম না এরকম সম্ভাবনা আছে। অনেক ধন্যবাদ, ইগনাসিও!
জিরকা

2
@ জিরকা: আপনি এটিও ব্যবহার করতে পারেন: `PS1 = '\ h: $ PWD \ n $'।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

1
জিরকার সমাধান pwdপ্রতিটি প্রম্পটে কার্যকর করে। ডেনিসের সমাধানটি দেয় না, কেবল পরিবেশের পরিবর্তনশীল পিডাব্লুডিকে আনে, যা অনেক সস্তা।
স্টাফেন গ্যারিচন

2
pwdএকটি বাশ অন্তর্নির্মিত। যে দাবিটি ${PWD}"অনেক সস্তা" এর তুলনায় $(pwd)প্রমাণ ছাড়াই।
ভিনিতে

1
@ অ্যান্সিয়াক্স: আপনাকে একক উদ্ধৃতি দিয়ে উদ্ধৃতি দিতে হবে, ডাবল উদ্ধৃতি নয়
ওয়েবারজান

0

আপনি যেমন উদাহরণ হিসাবে দেখিয়েছেন তেমন কমান্ড চালানোর দরকার নেই। bashআপনি উল্লিখিত বেশিরভাগ জিনিসের শর্টকাট সরবরাহ করে।

আপনার উদাহরণ:

PROMPT_COMMAND='echo -ne "\e[4;35m$(date +%T)\e[24m$(whoami)@$(hostname):$(pwd)\e[m\n"'
PS1=$

এটি আবার লিখতে পারেন:

PS1='\e[4;35m\t\e[24m\u@\h:\w\e[m\n'

যেখানে \tসময় (24 ঘন্টা ফর্ম্যাটে) \uদেখায়, বর্তমান ব্যবহারকারীর নামটি দেখায়, '\ এইচ' হোস্টনাম দেখায় - bashম্যান পৃষ্ঠাটি এইগুলি এবং আপনার প্রম্পটের জন্য উপলব্ধ অবশিষ্টাংশগুলি নিয়ে আলোচনা করে

এমনকি আপনি যদি ~পুরো পথটিতে প্রসারিত করেন , আপনি যদি না জানেন যে কোন ব্যবহারকারী কমান্ডটি চালাচ্ছেন এবং আপনি ব্যবহারকারীদের নিয়মিত পরিবর্তন করছেন, আপনি ফাইল অনুমতি বা সম্পাদনযোগ্য অনুমতি নিয়ে সমস্যা তৈরি করতে পারেন।


হাই, আমার উদ্দেশ্য ছিল \ ডাব্লু সম্পূর্ণ এবং হোম পাথ সহ পুরো পথ দিয়ে প্রতিস্থাপন করা। Ignacio এর জন্য ধন্যবাদ আমি এখন PS1 = '\ e [4; 35m \ t \ e [24m \ u @ \ h: $ (pwd) \ e [m \ n $' যা আমার সমস্যার সমাধান করেছে:
জিরকা

পারফেক্ট - আমি অন্তর্ভুক্ত করতে পছন্দ করি \uযাতে আমি জানি যে আমি কে। Ignacio এর উত্তর গ্রহণ করতে ভুলবেন না - প্রশ্নের বাম দিকে চেক বক্স ক্লিক করুন।
ডগ হ্যারিস

ইঙ্গিতটির জন্য ধন্যবাদ। আমি এই ফোরামে নতুন। এটি একটি দুর্দান্ত জায়গা।
Jirka

@ u @ \ এইচ: $ পিডাব্লুডি (কোলন নোট করুন)
স্কিপ-এর

0

আমি আমার .বাশ_প্রফাইলে ফাইলটিতে নীচে সেটিংস ব্যবহার করছি

$ export PS1='\e[1;34m\D{%T %d.%m.%Y} \[\033[00;39m\]\u\[\033[00;32m\]@$IP:\[\033[00;33m\]$(pwd)/\n\\$\[\033[00m\] '

21:40:08 14.12.2017 vmware@10.112.202.228:/home/vmware/Downloads/
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.