নির্দিষ্ট ব্যবহারকারীর জন্য বাইনারি পাথ ওভাররাইড করুন


8

আমার প্রশ্নটি তুচ্ছ বলে মনে হচ্ছে তবে আমি ইন্টারনেটে কোনও সহায়ক খুঁজে পাওয়ার ব্যবস্থা করতে পারি নি। আমার একটি বাইনারি আছে

/urs/bin/binary

তবে এটি পুরানো এবং উদাহরণস্বরূপ কয়েকটি মাউন্টে আরও নতুন সংস্করণ উপলব্ধ

/mount/new_version/binary

এটির মধ্যে একটি বাশ স্ক্রিপ্ট রয়েছে যা এই বাইনারিটির মতো একটি ফর্মটিতে আমন্ত্রণ জানায়

binary -doSomething

পুরানোটির পরিবর্তে বাইনারিটির নতুন সংস্করণ শুরু করার জন্য আমার এই স্ক্রিপ্টটি দরকার তবে আমাকে এই স্ক্রিপ্টটি পরিবর্তন করার অনুমতি নেই। এটি কীভাবে কোনওভাবে ওভাররাইড করার উপায় তবে কেবল আমার ব্যবহারকারীর জন্য? কোন সাহায্য প্রশংসা করা হবে।


যদি আপনি এটি করার অনুমতি না পান তবে আপনার প্রশাসকের সাথে কথা বলুন।
সোভেন

উত্তর:


11

বাইনারি থাকে /usr/bin/binaryএবং স্ক্রিপ্ট সম্পূর্ণ পাথ উল্লেখ না করে বাইনারি ডাকে, কিন্তু এর পরিবর্তে উপর নির্ভর /usr/binহচ্ছে PATHতারপর আপনি কেবল ব্যবহারকারীর শুরুতে নতুন বাইনারি অবস্থান যোগ করতে পারেন PATH। এগুলিতে এরকম কিছু রাখুন ~/.bashrc:

PATH=/mount/new_version:$PATH

সুরক্ষার কারণে, স্ক্রিপ্টগুলি প্রায়শই বাইনারিগুলির পুরো পথটি নির্দিষ্ট করে যাতে এই ধরণের জিনিস প্রতিরোধ করা যায়।


3

আপনার যদি বাইনারি অ্যাক্সেস থাকে তবে আপনি এটিকে ব্যাকআপ করতে পারেন এবং একটি প্রতীকী লিঙ্ক তৈরি করতে পারেন।

mv /urs/bin/binary /urs/bin/binary.bkp
ln -s /mount/new_version/binary /urs/bin/binary

[Edit]

দুঃখিত, পরিবর্তনটি কেবল একটি ব্যবহারকারীর জন্যই করতে হবে দেখেনি।

আপনি বাইনারি পরিবর্তে ডাকা একটি ফাংশন তৈরি করতে পারেন।

আপনি কীভাবে বাইনারি কার্যকর করেন তার উপর নির্ভর করে (পুরো পথ বা কেবল নাম) আপনার অবশ্যই একটি উপযুক্ত ফাংশন তৈরি করতে হবে , যেমন:

# Full path
function /urs/bin/binary () { command /mount/new_version/binary "$@"; }
export -f /urs/bin/binary
# Name
function binary () { command /mount/new_version/binary "$@"; }
export -f binary

বাইনারি যদি আর্গুমেন্ট গ্রহণ না করে / প্রয়োজন না হয় তবে "$ @" সরান ।

ফাংশন তৈরিটি স্বয়ংক্রিয় করতে, ব্যবহারকারীর হোম ডিরেক্টরিতে। প্রোফাইল ফাইলটিতে ফাংশন লাইন রাখুন।


এটি সমস্ত ব্যবহারকারীকে প্রভাবিত করবে। এটা গ্রহণযোগ্য নয়।
ভিক্টর স্টলবিন

দুঃখিত, আমি উত্তরটি সংশোধন করেছি কারণ পরিবর্তনটি কেবলমাত্র একজন ব্যবহারকারীকেই প্রভাবিত করতে পারে।
ডগলাস পি।

3

alias commandname=/mount/new_version/binary

পাথ স্টেটমেন্ট / এক্সপোর্টের উপরে .bashrc বা প্রোফাইলে যথেষ্ট সহজসাধ্য হবে।

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