আপনি যদি কেবল PS1
ভেরিয়েবলটি প্রেরণ করতে চান এবং এতে কোনও '
(একক উদ্ধৃতি) না থাকে , চেষ্টা করুন:
ssh targethost -t "PS1='$PS1'; exec bash"
স্থানীয় যদিও এটি .bashrc
ওভাররাইট করতে পারে PS1
(এটি নির্দেশ করার জন্য ডেনিস উইলিয়ামসনকে ধন্যবাদ )।
Ssh এর মাধ্যমে পরিবেশের ভেরিয়েবলগুলি প্রেরণ করার উপায় রয়েছে তবে তারা সাধারণত সার্ভার কনফিগারেশনে অক্ষম থাকে। যদি PermitUserEnvironment
নির্দেশটি সার্ভার কনফিগারেশনে সক্ষম করা থাকে এবং প্রতিটি ব্যবহারকারীর নিজস্ব কী জুড়ি থাকে (হ্যাঁ, আপনি এত ভাগ্যবান নাও হতে পারেন), আপনি আপনার কী environment="PS1=…"
অনুসারে লাইনে যুক্ত করতে পারেন ~/.ssh/authorized_keys
।
আপনি যদি একটি শেয়ার্ড ব্যবহারকারী অ্যাকাউন্টে নিজের কনফিগারেশন রাখতে চান, আপনি নিজের কনফিগারেশন ফাইল ডিরেক্টরি তৈরি করতে পারেন এবং HOME
পরিবেশের পরিবর্তনশীলটিকে সেই ডিরেক্টরিতে নির্দেশ করতে পারেন।
ssh targethost mkdir mrstatic.home
scp .bashrc targethost:mrstatic.home/
mrstatic.home
আপনি যখন অন্য ব্যবহারকারীদের সাথে কোনও ফাইল ভাগ করতে চান তখন মূল ডিরেক্টরিতে সংশ্লিষ্ট এন্ট্রিটির দিকে নির্দেশ করে ডিরেক্টরিতে প্রতীকী লিঙ্কগুলি তৈরি করুন ।
তারপরে, লগ ইন করুন
ssh targethost -t 'HOME=~/mrstatic.home; exec bash'`
আপনি যদি রিমোট .profile
(বা অন্যান্য সূচনা ফাইল) সংশোধন করতে ইচ্ছুক হন তবে আপনি সম্ভবত নিজের সেটিংস স্বয়ংক্রিয় করতে পারেন। অনেক সাইট LC_*
পরিবেশের ভেরিয়েবলের মাধ্যমে অনুমতি দেয় (সাধারণত তারা স্থানীয়ভাবে সেটিংসের জন্য ব্যবহৃত হয়)। যদি এই উভয় শর্ত পূরণ হয় তবে আপনি একটি ভেরিয়েবল সেট করতে পারেন যা বাস্তবে লোকালগুলির জন্য ব্যবহৃত হয় না, বলুন LC_USER
, ক্লায়েন্টের পাশে, এবং এটি সার্ভারে পরীক্ষা করুন .profile
।
(অবশ্যই শেয়ার করা অ্যাকাউন্টগুলি একটি খারাপ ধারণা, তবে আমি বুঝতে পারি যে আপনি সেই পরিস্থিতি পরিবর্তনের পক্ষে থাকতে পারেন না))
"PS1='$PS1' bash -i"
(এবং কেন নয়exec
) ও নয় ?