বর্তমান ডিরেক্টরি উপর নির্ভর করে আইটার্ম 2 প্রোফাইল পরিবর্তন করুন


1

আমার .bash_profile ব্যবহার করে, আমি নিম্নলিখিত কমান্ডের সাহায্যে প্রতি মেশিনে আমার আইটার্ম 2 প্রোফাইল পরিবর্তন করতাম:

echo -e "\033]50;SetProfile=ssh\a"

এখন, আমি আমার বর্তমান ওয়ার্কিং ডিরেক্টরিের উপর নির্ভর করে এটি পরিবর্তন করতে চাই।

আদর্শভাবে এই জাতীয় কিছু কাজ করতে হবে:

  • আমি একবার / mnt / প্রোডাকশন বা যে কোনও সাবফোল্ডার ভিতরে প্রবেশ করি, আইটার্মের প্রোডাকশন প্রোফাইলে পরিবর্তন হওয়া উচিত।
  • আমি একবার ডিরেক্টরিটি ছেড়ে দিলে বাশ প্রোফাইলে পরিবর্তন করা উচিত।

এটা করার কোন উপায় আছে?

উত্তর:


0

অবশেষে আমি ব্যাশ-প্রিক্সেক ব্যবহার করে একটি সমাধান পেয়েছি

এই ইউটিলিটির নিম্নলিখিত ফাংশন রয়েছে:

precmdপ্রতিটি প্রম্পটের ঠিক আগে কার্যকর করা হয়েছে। PROMPT_COMMAND সমতুল্য, তবে আরও নমনীয় এবং স্থিতিস্থাপক।

ব্যাশ-প্রিক্সেক ইনস্টল করতে:

brew install bash-preexec

তারপরে আমাকে আমার .বাশ_ প্রোফাইলে নিম্নলিখিতগুলি যুক্ত করতে হবে:

if [ -f $(brew --prefix)/etc/profile.d/bash-preexec.sh ]; then
    . $(brew --prefix)/etc/profile.d/bash-preexec.sh
    precmd() {
        if [[ $PWD == /mi/prod/path/produccion* ]]; then
            if [ -z $shouldChangeProfile ]; then
                echo -e "\033]50;SetProfile=production\a"
            fi
            shouldChangeProfile=1
        elif [ "$shouldChangeProfile" == "1" ]; then
            echo -e "\033]50;SetProfile=bash\a"
            unset shouldChangeProfile
        fi
    }
fi

precmdফাংশনের ভিতরে যেখানে আমি আমার প্রয়োজন অনুসারে প্রোফাইল পরিবর্তন করি।

shouldChangeProfile অপ্রয়োজনীয় প্রোফাইল পরিবর্তনগুলি প্রতিরোধ করে।

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