Ssh कंसोल और बैश के बीच क्या संबंध है?


2

यह कुछ हद तक एक दादी का सवाल है, लेकिन फिर भी, मैं वास्तव में इसका पता नहीं लगा सकता।

यह निम्नलिखित है: मैं ssh के माध्यम से एक दूरस्थ मशीन में लॉग इन करता हूं। वहाँ (उदाहरण के लिए!) मैं LD_LIBRARY_PATH को उचित रूप से सेट करने का प्रयास करता हूं। ऐसा अक्सर होता है export लेकिन मैं ssh से प्राप्त कंसोल पर export फलस्वरूप होता है "Command not found"। मैं तब टाइप करता हूं bash और अब मैं निर्यात का उपयोग कर सकता हूं।

दूसरी ओर, मुझे श-स्क्रिप्ट और मेकफाइल्स को निष्पादित करने के लिए बैश टर्मिनल में प्रवेश करने की आवश्यकता नहीं है, जिसमें उदाहरण के लिए शामिल हैं export कमांड लेकिन इसे ssh के माध्यम से प्रवेश करते समय मिलने वाले कंसोल से सही कर सकते हैं।

मुझे खुशी होगी अगर कोई मुझे कुछ शब्दों में समझा सकता है! या मैं और अधिक कैसे पता लगा सकता हूं?


जैसा कि किमोज़ कहते हैं, इसका ssh से कोई लेना-देना नहीं है। यदि आप सर्वर में सीधे प्रवेश कर सकते हैं (यानी, इसके भौतिक कंसोल पर जाकर), तो आपको वही इंटरफ़ेस मिलेगा जो आप अभी देख रहे हैं। आप स्क्रिप्ट और मेकफाइल्स चला सकते हैं क्योंकि वे, आंतरिक रूप से, आह्वान करते हैं bash (या कम से कम /bin/sh, जो की एक पूर्ववर्ती है bash और यह बहुत समान है)। यदि आप उन स्क्रिप्ट्स को देखते हैं जो आप उपयोग कर रहे हैं, तो आप शायद ध्यान देंगे कि वे शुरू करते हैं #!/bin/sh या (शायद ही कभी) #!/bin/bashmake कार्यक्रम का उपयोग करने के लिए शायद ही हार्ड-कोडित है /bin/sh, हालांकि मेकफाइल में इसे ओवरराइड करना संभव हो सकता है।
G-Man

जवाबों:


5

बैश एक शेल है, श की जगह, जो पहले आम था।

SSH सुरक्षित कनेक्शन के लिए एक प्रोटोकॉल है।

बैश (आप मशीन पर एक शेल) से आप किसी अन्य मशीन पर शेल के साथ सुरक्षित रूप से संवाद करने के लिए प्रोग्राम ssh चला सकते हैं। वह शेल बैश नहीं हो सकता है, लेकिन यदि बैश उपलब्ध है तो आप "बैश" लिखकर एक बैश शेल (दूसरे शेल के भीतर) दर्ज कर सकते हैं और फिर आप एक्सपोर्ट का उपयोग कर सकते हैं (जो मुझे लगता है कि बैश का एक हिस्सा है)


1
tcsh को मारना एक विकल्प है। वे एक ही उद्देश्य से सेवा करते हैं, लेकिन कुछ अलग तरीकों से। आपके दूरस्थ सर्वर के व्यवस्थापक ने संभवतः उस tcsh को आपके बेहतर सर्वर के रूप में खोजा, लेकिन जैसा कि आपने पाया है कि आप इसके बजाय बस बैश खोल सकते हैं।
kidmose

1
@ मिचेल: यदि आप बैश के साथ अधिक सहज हैं, और यह उपलब्ध है, तो आप इसका उपयोग कर सकते हैं (यदि आप टाइप करें exec bash, आपको इसकी आवश्यकता नहीं है exit दो बार जब आप काम कर रहे हों।) लेकिन, यदि आप इसके बारे में अधिक जानना चाहते हैं tcsh, आप इसे देख सकते हैं man पृष्ठ, या प्रलेखन के लिए देखो csh, a.k.a "सी शेल" ( tcsh का एक विकसित संस्करण है csh )। विशेष रूप से (उदाहरण के लिए), पर्यावरण चर सेट करने के लिए, उपयोग करें setenv (variable) (value) (नोट: नहीं = ) बजाय export (variable)=(value)
G-Man

1
@kidmose, यह nitpicky हो सकता है, लेकिन आपको बैश शेल में शुरू करने की आवश्यकता नहीं है। आप प्रारंभिक बैश शेल के बिना विंडोज में पुट्टी से एक एसएसएच कनेक्शन खोल सकते हैं।
Adam

1
यदि कोई शेल निर्दिष्ट नहीं है, make का उपयोग करता है /bin/sh, देख यह पन्ना
Adam

1
@ मिसेल, बैश शेल (उदाहरण के रूप में) सीधे कर्नेल के साथ सिस्टम कॉल और सिग्नल के रूप में संचार करता है, उस बिंदु पर कोई बिचौलिया नहीं है, बस बहुत सी कोड। यदि आपके पास कोई अतिरिक्त प्रश्न है, तो टिप्पणी पोस्ट करने के बजाय, एक नया प्रश्न शुरू करें।
Adam
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.