स्क्रीन सत्र बनाते समय स्क्रीन विंडो में एक कमांड को ऑटो कैसे निष्पादित करता है


0

के रूप में एक स्क्रीन सत्र बनाते हुए मैंने 10 विंडोज बनाने के लिए अपने। स्क्रीनशॉट आरसी को कॉन्फ़िगर किया है

 screen -t task1      0
 screen -t task2      1
 screen -t task3      2
 .
 .

जब भी मैं चाहता हूं, जब भी मैं स्क्रीन सेशन बनाता हूं, तो हर विंडो को मशीन में भेजना चाहिए। मैंने तरह-तरह के सामान आजमाए

 screen -t task1      0 "ssh -p 22 root@x.x.x.x"

 screen -t task1      0 bash "ssh -p 22 root@x.x.x.x"

लेकिन यह काम नहीं कर रहा है।

जवाबों:


2

आपकी समस्या उद्धृत है।

screen -t task1 1 "ssh foo@bar"
screen -t task2 2 bash "ssh foo@bar"

पहली पंक्ति ssh foo@barइसे शब्दों में विभाजित करने के बजाय " " नामक एक कमांड को निष्पादित करने का प्रयास करेगी ; बिना उद्धरण के प्रयास करें।

दूसरी पंक्ति बैश को ssh foo@barएक कमांड के रूप में पार्स करने के बजाय " " नामक स्क्रिप्ट को निष्पादित करने का निर्देश देगी ; -cध्वज की आवश्यकता है :

screen -t task1 1 ssh foo@bar
screen -t task2 2 bash -c "ssh foo@bar"

वास्तव में क्या हो रहा है, इसे आज़माने के लिए, अपने स्क्रीन आर्क से इंटरेक्टिव सत्र में कमांड पेस्ट करें। मान लें कि आपका कमांड वर्ण डिफ़ॉल्ट है, ^a:स्क्रीन कमांडलाइन के बराबर प्राप्त करने का प्रयास करें।

^a:screen -t task1 2 "ssh foo@bar"

.. आपको त्रुटि संदेश देना चाहिए
Cannot exec 'ssh foo@bar': No such file or directory

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