কোনও ফোল্ডারে প্রবেশের সময় অস্থায়ী ব্যাশ উপকরণ সেট করা


13

কখনও কখনও আমি খুব কাস্টমাইজড ব্যাশ অ্যালিয়াস এবং আমি কোনও ফোল্ডারে প্রবেশ করার সময় কী-বাইন্ডিংগুলি পছন্দ করতে পারি (এমন একটি প্রকল্প হতে পারে যেখানে আমি সিএলআই থেকে প্রচুর কমান্ড টাইপ করতে ব্যবহৃত হই)।

ধরুন আমি যখন "প্রজেক্টআল্ফা /" এর মতো কোনও ফোল্ডারটি প্রবেশ করি তখন আমি কিছু কাস্টম এলিয়াস যেমন আশা করি:

  • alias doTaskX='./app arg1 arg2...|filter arg1 arg2...'
  • ...

এর চেয়ে বেশি আমি ভাবছিলাম:

  • উপকরণ এবং সাধারণ আদেশগুলি প্রদর্শিত একটি সহায়ক বার্তা প্রদর্শন করুন
  • আমার প্রকল্পের জন্য কিছু সাধারণ কাস্টম কিবাইন্ডিংগুলি প্রদর্শন করা হচ্ছে

তবে আমি আমার প্রকল্পের মূলটি ছাড়ার সাথে সাথে এই সেটিংসটি অনুপলব্ধ হয়ে যায়।

এটি করার জন্য সর্বোত্তম পদ্ধতির কী?


একটি ডিরেক্টরিতে প্রবেশের জন্য
c

উত্তর:


14

বাশের একটি বিশেষ পরিবর্তনশীল রয়েছে PROMPT_COMMANDযা কমান্ড কার্যকর হওয়ার পরে প্রতিবার প্রকাশিত হয় যা আপনি নিম্নলিখিত হিসাবে সেট করতে পারেন:

PROMPT_COMMAND='[[ "$PWD" = /tmp ]] && { alias ll=ls; echo "Remember: ll=ls"; } || { unalias ll 2>/dev/null; }'

এখন থেকে প্রতিবার আপনি /tmpডিরেক্টরিতে llথাকবেন উপনাম তৈরি হবে এবং অন্য সমস্ত ডিরেক্টরিতে এটি মুছে ফেলা হবে।


সম্ভবত আরও ব্যবহারিক হ'ল একটি ফাংশনে আপনার সমস্ত এলিয়াস এবং অন্যান্য স্টাফ সংগ্রহ করুন (বলুন makealias) এবং অন্যান্য ফাংশনটিতে সমস্ত আনলিয়াস makeunaliasযা আপনি আপনার প্রয়োজনের উপর নির্ভর করে চালাতে পারেন, এমন কিছু

PROMPT_COMMAND='[[ "$PWD" = /tmp ]] && makealias || makeunalias 2>/dev/null'

লক্ষ্য করুন যে স্ট্যাডার পুনঃনির্দেশ কেবল এই ক্ষেত্রে সতর্কতাগুলিতে কিছু অকেজো প্রতিরোধ করার জন্য উপস্থিত।


ty, আমি এটি চেষ্টা করব। +1 (যদি আমি পারতাম)
gzinho

1
@ user3697611 আপনার নিজের প্রশ্নের উত্তর গ্রহণ করার জন্য আপনার কোনও খ্যাতির দরকার নেই। উত্তরের পাশের চেক মার্কে ক্লিক করুন।
বর্মার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.