আমি একটি ইন্টারেক্টিভ রিমোট সেশন থেকে পরিবেশের মডিউলগুলি লোড করার চেষ্টা করছি এবং সেই অনুযায়ী পরিবেশের ভেরিয়েবলগুলি সেট করব।
উদাহরণস্বরূপ, আমার বাশার্কে আমি সাধারণত কল করি
module load /path/to/cmake/3.x.x
এবং আমি যখন লগইন শেল থেকে "cmake --version" চালাব তখন আমি দেখতে পাব
cmake v3.x.x
যাইহোক, আমি যখন এটি একটি ইন্টারেক্টিভ রিমোট সেশন দিয়ে চালাচ্ছি, আমি cmake v2.xxx কে বধির হিসাবে দেখতে পাচ্ছি।
ssh me@machine 'cmake --version'
এটি ঘুরে দেখার জন্য, আমি আমার / ইত্যাদি / এসএসএস / এসএসডি_কনফিগটিকে "পারমিট ইউজার-পরিবেশে হ্যাঁ" এ আপডেট করার চেষ্টা করেছি
আমার ~ / .ssh / এনভায়রনমেন্ট ফাইলের অভ্যন্তরে আমি সেই অনুযায়ী পরিবেশের ভেরিয়েবল সেট করতে এবং আমার $ PATH আপডেট করতে সক্ষম। এই কাজ করে, এবং যখন SSH- র মাধ্যমে দূরবর্তী অবস্থান থেকে কমান্ড চলমান দেখতে পাচ্ছি আমার পথ হয় আপডেট করা হয়েছে। অর্থাত
ssh me@machine 'echo $PATH'
আমি একটি ~ / .ssh / আরসি ফাইলও তৈরি করেছি যা আমি নিশ্চিত হয়েছি যে ফোন করা হয়েছে। তবে, যদিও আমি একই "মডিউল লোড /path/to/cmake/3.xx" রেখেছি এখনও আমি এটি ভি 2 লোড করে দেখছি। আমি যদি আমার .ssh / আরসির ভিতরে আমার প্যাথটিকে আপডেট এবং রফতানি করি তবে একই কাজ হয়। এটি আপডেট হয়, তবে মনে হয় এটি দূরবর্তীভাবে ব্যবহৃত হবার চেয়ে আলাদা শেলের সাথে এটি প্রয়োগ করছে।
আমি বুঝতে পারি না কেন shell / .ssh / পরিবেশ বর্তমান শেলের জন্য জিনিসগুলিকে সংশোধন করে তবে ~ / .ssh / rc আপাতদৃষ্টিতে আলাদা শেলটির জন্য জিনিসগুলিকে পরিবর্তন করে।
আমি কীভাবে দূরবর্তী অবস্থানের পরিবেশ মডিউলগুলি ব্যবহার করতে পারি তার কোনও ধারণাগুলি ?
কৃতজ্ঞতা