यदि आप केवल 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
, भी)?