উবুন্টুতে বাশ প্রম্পট - এফকিউডিএন (\ এইচ) হোস্ট-নেম (\ এইচ) এর সমান


14

আমাদের কর্মক্ষেত্রে বিকাশ, পরীক্ষা, সংহতকরণ এবং মঞ্চের জন্য আমাদের পৃথক পরিবেশ পেয়েছি।

এই এনভির মধ্যে, আমরা ডিএনএস-তে হোস্ট-নেমগুলি ওভারলোড করেছি - যেমন দেব পরিবেশে, প্রাথমিক ওয়েব মেশিনটি বলা হয় web1.dev.example.com, এবং পরীক্ষার পরিবেশে, প্রাথমিক ওয়েব মেশিনটি web1.test.example.com

বিভিন্ন পরিবেশে মেশিনের মধ্যে পার্থক্য করতে, আমি কেবল হোস্টনামের চেয়ে এফকিউডিএন প্রদর্শন করতে বাশ প্রম্পটগুলি কাস্টমাইজ করতে চাই। বেশ এবং ভাল; আমি প্রতিস্থাপন করতে সক্ষম হওয়া উচিত \hসঙ্গে \Hমধ্যে $PS1, ডান? হুম। তারা ঠিক একই জিনিস দেখায়।

me@web1:~$ hostname
web1
me@web1:~$ hostname -f
web1.dev.example.com
me@web1:~$ export PS1="\[\u@\h: \w\]\$ "
me@web1: ~$ export PS1="\[\u@\H: \w\]\$ "
me@web1: ~$ 

ইন /etc/hostname, আমি স্রেফ হোস্টনেম পেয়েছি ( web1)। hostnameএবং hostname -fউভয়ই যথাযথ ফলাফল (যথাক্রমে "ওয়েব 1" এবং "web1.test.example.com") প্রদান করে এবং আমি সঠিক এন্ট্রি পেয়েছি /etc/hosts

কি দেয়?

এগুলি হ'ল উবুন্টু 10.04 হোস্ট, যদি এটি কোনও পার্থক্য করে।

উত্তর:


18

hostname -fসিস্টেমের fqdn পেতে একটি সুস্পষ্ট কল ব্যবহার করার চেষ্টা করুন

export PS1="\[\u@$(hostname -f): \w\]\$ "

যেমন

iain$ export PS1="\[\u@$(hostname -f): \w\]\$ "
iain@ub10-04-1.lan: ~$ 

সম্পাদনা করুন:

আরও গবেষণা দেখায় যে /etc/hostname(উবুন্টু) এবং /etc/sysconfig/network(সেন্টোস) বিষয়বস্তু প্রাসঙ্গিক। যদি এফকিউডিএন ফাইলটিতে থাকে তবে \Hসঠিকভাবে কাজ করে।

উবুন্টুর হোস্টনাম (1) ম্যান পেজ যদিও বলে যে আপনি / ইত্যাদি / হোস্টনেমে এফকিউডিএন স্থাপন করা উচিত নয় তবে কেন এটির কোনও কারণ নেই।


এটুকু কুরুচিপূর্ণ :( তবে এটি কাজ করে this আমি সম্ভবত এটি আরও কিছুদিনের জন্য উন্মুক্ত রেখে দিতে পারি, "পরিষ্কার"
বেন উইলিয়ামস

এটি ডেবিয়ান / উবুন্টুর সাথে সম্পর্কিত বলে মনে হচ্ছে। এটি সেন্টোতে প্রত্যাশার মতো কাজ করে।
ব্যবহারকারী 9517

1
হ্যাঁ, এটি অবশ্যই উবুন্টু সমস্যা। আমি আপনার প্রস্তাবিত সমাধানটি ব্যবহার করে শেষ করেছি; উবুন্টুতে বাশের বিরুদ্ধে একটি বাগ হিসাবে আমার সত্যই এটি রিপোর্ট করা উচিত।
বেন উইলিয়ামস

@ বেনউইলিয়ামস: কীভাবে এটিকে কম পলক করা উচিত তা দিয়ে আপডেট করা উত্তর।
ব্যবহারকারী 9517

উবুন্টুর হোস্ট-নেম-সেটিং ডক্সেও আমি সেই একই অস্পষ্টতা পেয়েছি। কীভাবে সমাধান করবেন তা নিশ্চিত নন।
ডগওয়েদার

4

সেখানে হোস্ট-নেম সম্পর্কে পাগলামি একজন উন্মাদ পরিমাণ হল, সংক্ষিপ্ত এবং দীর্ঘ, এবং ডান সব পেয়ে সময় কঠিন - তাই আমি শুধু হোস্ট-নেম হিসাবে FQDN ছেড়ে করতে সবকিছু ব্যবহার করুন ...

আমি আমার পরিবেশে আপনার মতো একই কাজটি করি তবে আমি প্রম্পটে এফকিউডিএনগুলি কেটে ফেলি কারণ আমি জানি যে আমি কোন সাইটে রয়েছি এবং এটি স্থান সংরক্ষণ করে। আমি পরিবেশের উপর ভিত্তি করে আমার প্রম্পটটিকেও রঙিন কোড করি তাই আমি যখন কোথাও "গুরুত্বপূর্ণ" কিছু করছি তখন তার থেকে আরও ভাল সতর্কতা পেয়েছি। আমি অনুলিপি-পাস্তা পিডব্লিউডিকে সহজ করার জন্য, অন্য সমস্ত কিছু থেকেও পথ পৃথক করে রেখেছি। আমার স্টক থেকে একটি স্নিপেট /etc/profile:

if hostname -f | grep -q '\.stg\.example\.com'; then
  _ROOT_COLOR=33  # yellow
  _USER_COLOR=36  # cyan
else
  _ROOT_COLOR=31  # red
  _USER_COLOR=32  # green
fi

if [ "`id -u`" -eq 0 ]; then
  PS1="\[\033[01;${_ROOT_COLOR}m\]$(hostname -f|sed 's/\.example\.com//')\[\033[01;34m\] \w #\[\033[00m\] "
else
  PS1="\[\033[01;${_USER_COLOR}m\]\u@$(hostname -f|sed 's/\.example\.com//')\[\033[01;34m\] \w $\[\033[00m\] "
fi

এবং, "কদর্যতা" যতদূর যায়, প্রম্পটটি প্রদর্শনের কোডটি কী দেখায় সে কে যত্ন করে? এটি বেশিরভাগ সময়, যাইহোক, কেবল লেখার কোড।


1
রঙ ব্যবহারের জন্য +1।
সাদ মাসউদ

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