टेलनेट और रन कमांड के लिए शेल स्क्रिप्ट

एक शेल स्क्रिप्ट डिजाइन की गई है जिसमें स्वचालित टेलनेट की विशेषताएं हैं और अन्य मशीनों के लिए रन कमांड निष्पादित करता है, जिससे उपयोगकर्ता से किसी भी प्रकार की बातचीत के बिना टेलनेट के सत्र को समाप्त किया जाता है। उपयोगकर्ता को केवल शेल स्क्रिप्ट चलाने या फ़ंक्शन को किसी अन्य स्क्रिप्ट से कॉल करने की आवश्यकता है। यह लिनक्स के लिए व्यापक रूप से लागू है, लेकिन UNIX प्रणाली के लिए एक को TCL और INSTALL संकुल की पूर्व स्थापना की आवश्यकता है। Expect कमांड स्थापित करने के लिए एक अलग निर्देशिका है। लिनक्स में अन्य मशीन और शेल स्क्रिप्ट के बीच बातचीत को छिपाने के लिए विशिष्ट कमांड का उपयोग किया जाता है। स्क्रिप्ट को कॉल करते समय पता, उपयोगकर्ता नाम और पासवर्ड सौंपा गया है। शेल की घोषणा के लिए आईपी ​​पते की आवश्यकता होती है, जिसके बाद चलाए जाने वाले कमांड को टेलनेट सत्र के अंत में चिह्नित किया जाता है

मुद्दा

मैंने एक शेल स्क्रिप्ट बनाई है जो स्वचालित रूप से टेलनेट कर सकती है और दूसरी मशीन पर कमांड चला सकती है और उपयोगकर्ता से किसी भी बातचीत के बिना टेलनेट सत्र समाप्त कर सकती है; उपयोगकर्ता केवल स्क्रिप्ट चलाता है या इसे किसी अन्य स्क्रिप्ट से कहता है।

लेकिन आपको अपने यूनिक्स सिस्टम पर EXPECT और TCL पैकेज इंस्टॉल करने की आवश्यकता है।

स्क्रिप्ट में निम्नलिखित निर्देश हैं:

#! / usr / स्थानीय / बिन / उम्मीद -f #### / usr / स्थानीय / बिन / उम्मीद है कि निर्देशिका स्थापित की गई थी

log_user 0 #### इस कमांड का उपयोग स्क्रिप्ट और अन्य मशीन के बीच बातचीत को छिपाने के लिए किया जाता है

सेट पता [लिंडेक्स $ argv 0] ### स्क्रिप्ट को $ पते पर कॉल करते समय पहले पारित पैरामीटर असाइन करें

सेट उपयोगकर्ता नाम [lindex $ argv 1] ### स्क्रिप्ट को $ उपयोगकर्ता नाम पर कॉल करते समय 2 के पारित पैरामीटर असाइन करें

सेट पासवर्ड [lindex $ argv 2] ​​### स्क्रिप्ट को $ पासवर्ड पर कॉल करते हुए 3 पास किए गए पैरामीटर को असाइन करें

स्पॉन टेलनेट $ {एड्रेस} ### आईपी = $ एड्रेस के साथ टेलनेट सेशन को मशीन से शुरू करें

### मशीन से बातचीत शुरू करें:

उम्मीद है कि "लॉगिन:"

भेजें - "$ {उपयोगकर्ता नाम} \ r"

उम्मीद है कि "पासवर्ड:"

भेजें - "$ {पासवर्ड} \ r"

"$" की उम्मीद करें

भेजें - "#! / bin / ksh \ r" ### शेल का उपयोग करने की घोषणा करते हैं (वैकल्पिक)

"$" की उम्मीद करें

भेजें - "### उसे निष्पादित करने के लिए अपनी कोई भी कमांड टाइप करें"

"$" की उम्मीद करें

भेजें - "exit \ r" ### टेलनेट सत्र समाप्त करें और स्क्रिप्ट से बाहर निकलें

इस स्क्रिप्ट को निष्पादित करने के लिए, मैंने टाइप किया:

$ उम्मीद_स्क्रिप्ट "पता" "उपयोगकर्ता नाम" "पासवर्ड" ### स्क्रिप्ट का नाम "उम्मीद_स्क्रिप्ट" है

लेकिन इससे पहले कि आप अपेक्षित स्क्रिप्ट को कॉल करें, आपको उम्मीद की गई स्क्रिप्ट को निष्पादन योग्य बनाना चाहिए, और यह टाइप करके किया जा सकता है:

$ chmod + x expect_script

उपाय

इसे इस्तेमाल करे:

 #। ltr \ n "? (यदि आप \ n नहीं दे रहे हैं तो यह आपकी प्रतिक्रिया की प्रतीक्षा करेगा या आपको मैन्युअल रूप से दर्ज करना होगा)। बातचीत 

"उम्मीद" कमांड को कैसे निष्पादित करें -f

पूर्व: उम्मीद -f

ध्यान दें

मंच पर इस टिप के लिए ज़ूजू का धन्यवाद।

पिछला लेख अगला लेख

शीर्ष युक्तियाँ