अस्थायी रूप से दूरस्थ ssh सत्र में शेल सेटिंग्स स्थानांतरित करना?


0

मैं उत्सुक हूं, अक्सर मैं अपने सत्र के दौरान अपनी सभी शैल सेटिंग्स (dotfiles) को एक दूरस्थ सत्र में स्थानांतरित करना चाहूंगा और जब मैं लॉगआउट करता हूं तो उन्हें उलट दिया जाता है। इससे भी बेहतर होगा कि इस सत्र में केवल इन्हें सक्रिय किया जाए ताकि जो कोई भी लॉग इन करेगा वह शेल के लिए डिफ़ॉल्ट या अपनी स्वयं की कस्टम सेटिंग्स भी कर सकेगा।

क्या वर्तमान में ऐसा करने का कोई तरीका है या मुझे स्वयं इस कार्यक्षमता को लिखने के कस्टम समाधान की आवश्यकता होगी? मैं वर्तमान में इसे पूरा करने के लिए कोई वास्तविक विकल्प नहीं देख रहा हूं।

जवाबों:


2

आपको ज्यादा नहीं लिखना है (सिर्फ एक शेल स्क्रिप्ट)। उपकरण पहले से ही हैं। उन्हें केवल वही निर्यात करने के लिए उपयोग करें जो आपको दूसरों के शेल कार्यों को ठीक करने के बोझ से बचने की आवश्यकता है।

(set; alias) |
ssh -l root 10.3.0.8 'mkdir ~/tmp 2>/dev/null; cat > ~/tmp/.import'

यह विफल नहीं है, इसलिए आपको आउटपुट की कोशिश करनी चाहिए जब तक आपको नहीं लगता कि यह ठीक से काम करता है।

(set; alias) > ~/tmp/import
bash -n tmp/import

tmp/import: line 6085: syntax error near unexpected token `('
tmp/import: line 6085: `        !(?(*/)python*([0-9.])|-?))'

यह केवल पर्यावरण चर के साथ एक समस्या से कम है क्योंकि एक पार्स करने योग्य प्रारूप लागू करना आसान है:

env | sed -Ee "
      s/'/\\\\'/g;
      s/=(.*)/='\1'/
      " > tmp/export.vars-only

और केवल अपने कार्यों को निर्यात करना ऐसा किया जा सकता है।

declare -f `grep  ^function ~/.functions | awk '{print $2}'`

यदि आप moo() { true;}उन्हें घोषित करने के लिए वाक्यविन्यास का उपयोग करते हैं या उसके बाद कुछ बदलाव कर सकते हैंgrep -Eoe '^\w+' ~/.functions


1

वास्तव में आपको क्या चाहिए, इसके आधार पर, कई समाधान हैं।

  1. यदि आपके पास ओपनश सर्वर कॉन्फ़िगरेशन का नियंत्रण है, तो आप सर्वर पर AcceptENV सेट कर सकते हैं, और फिर क्लाइंट में SendENV विशिष्ट पर्यावरण चर पर भेज देंगे।

  2. यदि वह पर्याप्त नहीं है, और आप कुंजी स्थिति का उपयोग करते हैं, तो आप विशिष्ट आदेशों को चलाने के लिए अधिकृत_की प्रविष्टियों का उपयोग कर सकते हैं, जैसे कि एक सेटिंग्स फ़ाइलों को लोड करना जिन्हें आपने पहले ही स्थानांतरित कर दिया है।

  3. यदि इनमें से कोई भी आपके लिए काम नहीं करता है, तो आपको बस अपनी स्क्रिप्ट / कमांड को एक आवरण के साथ लपेटना होगा जो आपके पर्यावरण को स्थापित करता है।


0

मुझे डर है कि आप कुछ कस्टम लिखने के लिए जा रहे हैं .... कुछ निर्देशिका और फ़ाइलों के लिए एक साधारण सीपी कमांड की तर्ज पर।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.