BASH একটি $PROMPT_COMMANDপরিবেশের পরিবর্তনশীলকে সমর্থন করে যা কোনও প্রথম স্তরের ইন্টারেক্টিভ প্রম্পটের আগে নির্বাহের জন্য একটি আদেশকে নির্ধারণ করে। আমি এর একটি ZSH সমতুল্য খুঁজছি।
ডকুমেন্টেশন বলছে যে একটি ক্রিয়া আছে যা precmdআমি অর্জন করতে সংজ্ঞায়িত করতে পারি; তবে, পরিবেশের পরিবর্তনশীল থেকে এটি কীভাবে সংজ্ঞায়িত করা যায় তা সম্পর্কে আমার কোনও ধারণা নেই।
আমি পরিবেশের পরিবর্তনশীল পাস করার বিষয়টি বিবেচনা করেছি যা জেডএসএইচটিকে সেই ফাংশনের সংজ্ঞা সম্বলিত একটি ফাইল পড়তে বাধ্য করবে, তবে জেডএসএইচ এই জাতীয় জিনিসগুলিকে সমর্থন করে না বলে মনে হয় : এটি কেবল গ্লোবাল ফাইলগুলি এবং তারপরে প্রতি ব্যবহারকারী ফাইলগুলি পড়ে। আমি সেগুলি প্রতিস্থাপন করতে পারি তবে আমি ফাইলগুলি পরিবর্তন না করে এগুলিতে যুক্ত করতে পারি না, যা আমি করতে পারি না।
সুতরাং আমি কীভাবে পরিবেশের ভেরিয়েবলের মাধ্যমে জেডএসএইজে প্রাক-প্রম্পট হুক সংজ্ঞায়িত করব, যেমন আমি $PROMPT_COMMANDবাসে ব্যবহার করব ?
exitএবং execঠিক আছে ;))
start() { eval "$@"; echo post-command-code }এবং তারপরে কমান্ড লাইনটি প্রিপেন্ডড দিয়ে কার্যকর করতে একটি জেল-বাইন্ডিং ব্যবহার করবেন start?
DEBUGফাঁদ একটা চমৎকার খুঁজতে, কিন্তু আপনি এখনও সমস্যা কিভাবে এটি সংজ্ঞায়িত করতে হবে। আমি আমার উত্তরটি আরও একবার প্রসারিত করেছি, তবে DEBUG ফাঁদ সমাধান সম্পর্কে আপনার নিজের উত্তর লিখতে আমি এটি ছেড়ে দিয়েছি। :)