জেডএসএইচ কুল ওল্ড এলিয়াসস


1

আমি যখন aliasএকটি zsh শেল কল করি , আমি এলিয়াসগুলির একটি তালিকা পাই। তাদের কিছু পছন্দসই, কিছু না। আমি মূলত .aliasআমার হোম ডিরেক্টরিতে একটি ফাইল তৈরি করেছি এবং আমার সাথে যুক্ত source $HOME/.aliasকরেছি .zshrc। আমার যে ফাইলটি উত্সাহিত করা হচ্ছে তার কোনও অংশ নেই এমন যে কোনও বিদ্যমান নামটি কীভাবে আমি তাড়িত করব .zshrc? (সম্ভবত আমি এটি একের সাথে একসাথে করতে পেরেছিলাম unalias, তবে এটি অবিশ্বাস্যরূপে জটিল মনে হচ্ছে।)

উত্তর:


1

unalias একসাথে একাধিক উপস্ব আনসেট করা সমর্থন করে, তাই অগত্যা আপনাকে একে একে একে করতে হবে না।

আমি কেবলমাত্র সমস্ত এলিয়াস বাদ দেওয়ার পরামর্শ দিচ্ছি এবং এগুলি আবার নতুন করে লোড করব ~/.alias

unalias ${(k)aliases} ${(k)galiases} ${(k)saliases}; source 

এটির জন্য zsh/parameterমডিউলটি লোড হওয়া দরকার। সাথে চেক করুন zmodload | grep parameter, লোড করুন zmodload zsh/parameter

পরামিতি aliases, galiasesএবং saliasesনিয়মিত, গ্লোবাল ও প্রত্যয় alias লেখা নাম যথাক্রমে তাদের প্রসারণও ম্যাপ। ${(k)parameter}এর কী দ্বারা প্রতিস্থাপিত হয় parameter


আপনি যদি কোনও কারণে মডিউলটি লোড করতে না পারেন, আপনি aliasকমান্ডের আউটপুট ব্যবহার করে এটির চারপাশে কাজ করতে পারেন :

unalias $(alias | cut -d = -f 1) ; source ~/.alias

আপনি যদি কেবলমাত্র একটি নির্দিষ্ট ধরণের উপন্যাসটি আনসেট করতে চান তবে alias -rনিয়মিত এলিয়াস (কমান্ডের পরিবর্তে ব্যবহৃত), alias -gগ্লোবাল এলিয়াস এবং alias -sপ্রত্যয় এলিয়াসগুলির জন্য ব্যবহার করুন।


যদি আপনাকে আরও বেশি বার এটি করার প্রয়োজন হয় তবে কেবলমাত্র আপনার ~/.zshrc(বা সেখান থেকে আপনি উত্সযুক্ত অন্য কোনও ফাইল) এর একটি ফাংশন সংজ্ঞায়িত করুন

reload-aliases () {
    unalias ${(k)aliases}
    source ~/.alias
}

অসাধারণ; এটাই আমার দরকার ছিল শুধু zsh পুনরায় লোড করতে হয়েছিল . ~/.zshrc, এবং সমস্যা সমাধান হয়েছে। আমি upvote হবে, কিন্তু আমার খ্যাতি যথেষ্ট বেশি নয়।
b_archer

1
সমস্ত এলিয়াস সরিয়ে ফেলার আরও অনেক সহজ উপায় হ'ল: unalias ${(k)aliases}যা কোনও বাহ্যিক আদেশকে জোর করে না।
এমপি

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