আমি স্ব-উত্তর দিচ্ছি, কারণ আমি অবশেষে গোপনীয়তাটি আবিষ্কার করেছি। আমরাও -t
জন্য বিকল্প ssh
, কিংবা -l
জন্য বিকল্প bash
তাদের নিজস্ব লগ-ইন শেল হতে হবে - কিন্তু সমন্বয় তারা কাজ হবে।
ssh user@host.com -t 'cd /some/where; FOO=BAR NUMBER=42 bash -l'
ডিরেক্টরি পরিবর্তন করে, পরিবেশের ভেরিয়েবলগুলি সেট করে এবং তারপরে সঠিক লগইন শেলটি শুরু হয় (আমি এখনও অবধি খুঁজে পেলাম কেবলমাত্র এই পার্থক্যটি এইভাবে /etc/motd
প্রদর্শিত হয় না - এটি সাধারণত নিজের ssh
বা login
দায়বদ্ধতার নয় bash
, সমস্ত কিছু বলে মনে হয়) নিখুঁতভাবে কাজ করতে এবং সমস্ত পরিবেশগত পরিবর্তনশীল অভিন্ন)।
এই পরিবেশ / ডিরেক্টরি পরিবর্তনগুলি ssh এর পরে ঘটে, সুতরাং সেগুলি PermitUserEnvironment
এবং সম্পর্কিত সেটিংস দ্বারা সীমাবদ্ধ নয় (ঠিক পরিকল্পনা অনুসারে), তবে .bashrc
/ .profile
কার্যকর করার আগে । এতে উত্সাহ এবং ডাউনসাইড রয়েছে - বাশ ইনিশ স্ক্রিপ্টগুলি থেকে সেট করা এমন PS1
কোনও কিছুকে ওভাররাইড করা শক্ত , তবে ssh
কমান্ড লাইনে সঠিক মানগুলি প্যাক করা সহজ এবং .profile
সমস্ত ভারী উত্তোলন করা সম্ভব।
এবং যদি সত্যিই প্রয়োজন .profile
হয় তবে কমান্ড লাইনের পরে কিছু কার্যকর করার জন্য বাশ পাওয়া খুব সহজ easy সেই পথে রাখলে ssh user@foo.com -t 'cd /mnt; echo ". ~/.bash_profile; PS1=\"\\h-\w \"" >~/xxx; bash --init-file ~/xxx'
খুব কুৎসিত হয় তবে এই বিকল্প .profile
ফাইলগুলি আগে প্রস্তুত করা যেতে পারে। (যতদূর আমি বলতে পারি স্ক্রিপ্টের bash
জন্য কয়েকটি প্রার্থীর অবস্থান রয়েছে .profile
এবং এটি পাওয়া প্রথমটি কার্যকর করবে - . file
যেমন স্বয়ংক্রিয় ফলব্যাক নেই, তাই আপনি profile
যদি এটি করতে চান তবে আপনার স্বাভাবিকটি কোথায় তা পরীক্ষা করে দেখার প্রয়োজন হবে )