আমি কীভাবে আমার প্রম্পটটি ইম্যাক্স শেল-মোডে ঠিক করব?


13

আমি একজন সহকর্মীর মেশিনে কিছু প্রোগ্রামিং করছি। তার কাছে ইমাসের একটি সংস্করণ রয়েছে (২৩.১.১) আমি আগে ব্যবহার করি নি। আমার সমস্যাটি হ'ল আমি যখন শেল-মোডে যাই তখন আমার ব্যাশ প্রম্পটটি এরকম দেখাচ্ছে:

^[]0;jay@socrates:~^G[jay@socrates]$ 

আমি PS1সেট করা '[\u@\h]\$ 'আছে আমার .bashrc। এটি দেখতে এরকম মনে হচ্ছে:

[jay@socrates]$

এটি নিয়মিত শেলের মধ্যে দেখতে কেমন এটি। আমি এটিও পরীক্ষা করে দেখলাম যে পিএস 1 ইমাস শেলের সঠিক মানটিতে সেট করা আছে, তাই এখন আমি ধারণার বাইরে রয়েছি। আমি কীভাবে চাই আমার প্রম্পটটি দেখতে চাই?

আমি ব্যবহার করতে termবা eshellপরিবর্তে কিছু পরামর্শ দেখেছি shelltermউপরের মতো একই প্রম্পট সমস্যা আছে এবং eshellসম্পূর্ণরূপে আমার উপেক্ষা করে PS1যাতে সত্যিই সহায়তা করে না।

উত্তর:


13

আপনার শেলটি এক্সটার্মের (বা অন্যান্য কনসোল) শিরোনাম / শিরোনাম সেট করার চেষ্টা করছে। এটি সম্পন্ন হতে পারে বিভিন্ন উপায়।

প্রথমে নিশ্চিত হয়ে নিন যে PS1 আসলে যা আপনার মনে হয়

echo $PS1 | less -E

এটি আপনাকে বলবে যে প্রম্পটে কন্ট্রোল অক্ষর থাকলে কম তাদের মজাদার দেখায়। আপনার প্রম্পট ধরে নেওয়া ঠিক যেমন আপনি বলেছেন ঠিক তেমন, তবে সম্ভবত এটি PROMPT_COMMAND পরিবেশের পরিবর্তনশীল। আপনি একইভাবে দেখতে পারেন ...

echo $PROMPT_COMMAND | less -E

প্রম্পট কমান্ডটি যদি সমস্যা হয় তবে আপনি কেবল এটি আনসেট করতে পারেন। উভয় ক্ষেত্রেই, এই ভেরিয়েবলগুলি কোথাও সেট আপ করা হচ্ছে এবং আপনি যদি এক্সটার্মে না হন তবে এক্সটার্ম হেডার আপডেট করার জন্য সেট করা উচিত নয়!

আপনি "স্ট্যান্ডার্ড" বাশার্ক (/ ইত্যাদি / বাশার্ক) দেখতে পারেন। আপনার কোডটি দেখতে পাওয়া উচিত যা একটি পুনরাবৃত্ত শেলটি (পিএস 1 সেট) পরীক্ষা করে এবং তার পরে এক্সটার্ম পরীক্ষা করে (ER TERM ভেরিয়েবলটি দেখছে), এবং অন্যান্য টার্মিনাল ধরণের চেয়ে আলাদা কিছু করে।

আমি সন্দেহ করি যে কোথাও ব্যাশ সূচনাটি একটি হার্ড-কোডেড সেটআপ, যা কেবল এক্সটারম-সামঞ্জস্যপূর্ণ কনসোল প্রোগ্রামগুলিতে করা উচিত। আপনি যে ফাইলগুলির সন্ধান করতে পারেন এবং এর মাধ্যমে মোট ফাইল খুঁজে পেতে ম্যান বাশ পড়ুন।

উপরের সমস্তটি যদি ব্যর্থ হয় তবে চেষ্টা করুন

printenv | less

এবং দেখুন যে আপনি সেখানে সন্দেহজনক কিছু খুঁজে পেতে পারেন কিনা, এবং তারপরে এটি নির্ধারণ করা হচ্ছে কোথায় তা সন্ধান করুন। আপনি যদি এটি কাজ না করতে পারেন তবে এখানে পোস্ট করুন।


1
PROMPT_COMMAND সমস্যা ছিল। এটি কোথায় সেট হচ্ছে তা আমি নিশ্চিত নই, তবে এটি আনসেট করার জন্য আমি আমার। / .Bashrc এ একটি লাইন যুক্ত করেছি এবং এটি কার্যকর works ধন্যবাদ!
জে কনরোড

PROMPT_COMMAND আমাকেও হত্যা করছিল। আমি মোবাএক্সটার্ম ব্যবহার করছি এবং এটিতে একটি বিশেষ জটিল বাশ প্রম্পট রয়েছে যা পিএস 1 এবং PROMPT_COMMAND এর সংমিশ্রণ ছিল।
স্টিভ ব্রবার্গ

5

আমি ঠিক একই সমস্যা জুড়ে এসেছি এবং এটি PROMPT_COMMAND এর কারণে। আমি এক্সটার্ম শিরোনামটি পছন্দ করি। সুতরাং আমি line / .emacs_bash এ নিম্নলিখিত লাইনটি যুক্ত করেছি

export PROMPT_COMMAND=""

2

আপনার নিয়মিত শেল বনাম টার্মিনাল ধরণের ইমাক্স শেলটির সাথে এটি করার কিছু হতে পারে। TERMউভয় শেলের মধ্যে কী পরিবেশের পরিবর্তনশীল সেট করা আছে তা পরীক্ষা করুন । যদি সেগুলি পৃথক হয় তবে আপনার ইমাস শেল টার্মিনাল প্রকারটি পরিবর্তন করতে বা ইন ই এমএএসএস টার্মিনাল টাইপের জন্য আলাদা PS1 সংজ্ঞা ব্যবহার করতে সক্ষম হবেন .bashrc

আপনি চেষ্টাও করতে পারেন M-x ansi-term(এবং ansi-color-for-comint-mode-onযদি রঙিন প্রম্পট থাকে)।


1
কমেন্ট-মোড-অনের জন্য আনসির-কালারটি আমাকে সহায়তা করেছিল!
ব্যবহারকারী 1

1

এটি স্ট্যাকওভারফ্লো সাইটে খুব ভাল উত্তর দেওয়া হয়েছিল। ড্যানিয়েল পো।

তার উত্তর এখানে।

আপনি আনসিটাইম ব্যবহার করতে পারেন যা রঙগুলিকে সমর্থন করে বা আপনি সাধারণ শেলের জন্য আনসিক্লোর সক্ষম করতে পারেন:

(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.