আমার প্রম্পটে প্রদর্শিত হওয়ার জন্য কেন আমি নির্দিষ্ট পরিবেশের পরিবর্তনশীলটি পেতে পারি না এমন কোনও ধারণা?


1

আমি আমার জেডএসএইচ প্রম্পটে আমার পাইথন ভার্চুয়ালেনভের নামটি তালিকাবদ্ধ করতে চাই তবে এটি কাজ করতে পারছি না। এটি পরিবেশের পরিবর্তনশীল (VIRTUAL_ENV) হিসাবে তালিকাভুক্ত। আমি অন্য একটি স্ক্রিপ্ট সেট আপ করেছি যা আমার ভার্চুয়াল এনভিভ (এনভেসটেষ্ট) এর কেবলমাত্র নামটি সঠিকভাবে প্রদান করে তবে আমার প্রম্পটে এটি অন্তর্ভুক্ত করার চেষ্টা করাও কার্যকর হয়নি।

প্রম্পট কনফিগার:

PROMPT="╭─${user_host} ${current_dir} [${VIRTUAL_ENV}] ${rvm_ruby} ${git_branch}
╰─%B${user_symbol}%b "

কনসোল:

╭─user@server ~/Projects/virtualenvTest []
╰─$ echo $VIRTUAL_ENV

╭─user@server ~/Projects/virtualenvTest []
╰─$ source envTest/bin/activate
╭─user@server ~/Projects/virtualenvTest []
╰─$ echo $VIRTUAL_ENV
/home/user/Projects/virtualenvTest/envTest

আমি আমার প্রম্পটে প্রদর্শিত করতে অন্যান্য পরিবেশের ভেরিয়েবলগুলি পেতে পারি (উদাঃ ল্যাং)।

প্রম্পট কনফিগার:

PROMPT="╭─${user_host} ${current_dir} [${LANG}] ${rvm_ruby} ${git_branch}
╰─%B${user_symbol}%b "

কনসোল:

╭─user@server ~/Projects/virtualenvTest [en_US.UTF-8]
╰─$ echo $LANG
en_US.UTF-8

উত্তর:


1

আপনি যদি PROMPTনিজের সংজ্ঞাটি দেওয়ার সময় ডাবল কোট ব্যবহার করেন তবে সেখানে সমস্ত পরামিতি সংজ্ঞা অনুসারে প্রতিস্থাপিত হয় এবং প্রতিবার প্রম্পটটি মুদ্রিত হয় না। আপনি $VIRTUAL_ENVআলাদাভাবে উদ্ধৃতি দিয়ে এটি প্রতিরোধ করতে পারেন ।

এর প্রতিকল্পন প্রতিরোধ পুরো প্রম্পট ভিতরে একক উদ্ধৃতি নির্বাণ হিসাবে $VIRTUAL_ENVসম্ভবত প্রম্পট বাকি ভঙ্গ করবে, শুধু উদ্ধৃতি চেষ্টা $একটি prepending দ্বারা \, ভালো

PROMPT="╭─${user_host} ${current_dir} [\${VIRTUAL_ENV}] ${rvm_ruby} ${git_branch}
╰─%B${user_symbol}%b "

আমি সন্দেহ করি যে অন্যান্য প্যারামিটারগুলি কাজ করে কারণ সেগুলি প্রতিবার মূল্যায়ন করার পরে এমন কিছু দিয়ে প্রতিস্থাপিত হয়। উদাহরণস্বরূপ, ${user_host}সম্ভবত এমন কিছু বিষয় যা অন্তত প্রম্পট বেরিয়ে রয়েছে দ্বারা প্রতিস্থাপিত হয় %nএবং %mএকটি সঙ্গে @মাঝে।

${LANG} কাজ করে কারণ আপনি প্রম্পট সেট করার সময় এটিতে প্রত্যাশিত মান রয়েছে contains

আপনি সহজেই চালিয়ে এটি নিশ্চিত করতে পারেন:

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