मैं .command- स्क्रिप्ट में 'पॉज़' कैसे कर सकता हूँ?


0

मैं मैक पर एक .command- स्क्रिप्ट बनाना चाहता हूं, SSH का उपयोग करके रिमोट सर्वर पर कमांड की एक श्रृंखला निष्पादित करने के लिए। मेरी स्क्रिप्ट कुछ इस तरह दिखती है:

ssh user@domain.com
cd /var/www/website/
git pull

हालाँकि, मुझे पहले आदेश के बाद (वास्तव में दूरस्थ सर्वर तक पहुंच प्राप्त करने के लिए) अपना पासवर्ड दर्ज करने की आवश्यकता है। मेरे पासवर्ड दर्ज करने के बाद बाकी स्क्रिप्ट निष्पादित नहीं होती है।

अपना पासवर्ड दर्ज करने के बाद मैं टर्मिनल को निम्नलिखित आदेशों को निष्पादित करने के लिए कैसे कह सकता हूं ?

NB: मैं अपना पासवर्ड .command-file में नहीं डालना चाहता।

जवाबों:


1

इस समाधान में हमें ssh को एक छद्म टर्मिनल बनाने की जरूरत है, -ttतब रिमोट स्थान पर कमांड भेजने के लिए एक हेरेडोक का उपयोग करें।

    ssh -tt user@domain.com <<EOF
    cd /var/www/website/
    git pull
    logout
    EOF 

अब तक धन्यवाद! यह काम करता है। हालाँकि, मेरी स्थिति पहले की तुलना में थोड़ी अधिक जटिल है। मुझे वास्तव में क्लाइंट से सर्वर ए पर जाना है, फिर सर्वर बी में, फिर पुल करना है। मैं उन heredoc अंकन घोंसले के शिकार कोई भाग्य नहीं था। क्या पहले रिमोट सर्वर के भीतर एक ही ट्रिक करने का कोई तरीका है?
शरलॉक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.