में उपयोग करता हूं तो echo "^]" के साथ एक scpi (telnet) सत्र बंद नहीं कर सकता echo-e "\ 029"
का उपयोग या तो काम नहीं करता है। लेकिन अगर strg + alt gr + ] सीधे टर्मिनल सत्र में -> यह काम करता है।जब मैं इसे स्क्रिप्ट
मुझे अपने प्रश्न को अधिक ठोस रूप से पूछना है:
मैं टेलनेट/एससीपीआई के माध्यम से एक आरएफ जनरेटर (AGILENT) को जोड़ता हूं।
मैं सत्र के अंत में टर्मिनल और प्रेस पर इस मैनुअल करते हैं CTRL + एएलटी जीआर + ] के लिए '^]' तो ठीक से SCPI सत्र बंद है और मैं टेलनेट सत्र बंद करने के लिए quit
टाइप कर सकते हैं अच्छी तरह।
आरएफ जनरेटर के प्रदर्शन पर कोई त्रुटि संदेश नहीं है। तो यह होना चाहिए।
यदि मैं स्क्रिप्ट के माध्यम से ऐसा करता हूं तो एससीपीआई सत्र ब्रेक सिग्नल स्थिति '^]' को पहचानने के लिए प्रतीत नहीं होता है और इसे स्क्रिप्ट (टेलनेट और एसपीपीआई) के अंत के बाद बंद करने के लिए मजबूर किया जाएगा। -> संदेश: "विदेशी होस्ट द्वारा डिस्कनेक्ट"। 192,168.10.66 भागने चरित्र से जुड़ा है '^]' -> यह वह जगह है:,> "अवैध हैडर" आदि
के बाद सफल कनेक्शन दिखाई देता है - दुर्भाग्य से, मैं आरएफ जनरेटर के प्रदर्शन पर त्रुटि संदेश मुद्दे पर इंगित करें। टर्मिनल में मैन्युअल प्रविष्टि सही तरीके से काम करती है, स्क्रिप्ट काम नहीं करती है।
function getIDNMessage()
{
(
echo open $1 $2
sleep 1
echo "*IDN?"
sleep 1
echo –e "\029" # or echo “^]” does not work well
sleep 1
echo "quit\r"
sleep 1
) | telnet > scpi_telnet.log 2>&1
}
getIDNMessage 192.168.10.66 7777
क्यों न केवल 'बाहर निकलें'? –
मुझे यहां कोई प्रश्न नहीं दिख रहा है। –
ऐसा प्रतीत होता है कि एसपीपीआई के पास एक करीबी कमांड (* prefix_close *) है, लेकिन यह मुझे आश्चर्य नहीं करेगा अगर कनेक्शन बंद करना एक ही प्रभाव होगा (केवल स्क्रिप्ट के अंत से गिरना होगा)। स्टार्टअप पर, टेलनेट शायद जांचता है कि क्या स्टडीन एक टीटीआई है (उदाहरण के लिए आईएसी डीओ/डॉन इको की आवश्यकता है) सामान्य टेलनेट गैर-मानक पोर्ट पर उपयोग किए जाने पर "सक्रिय" आईएसी सत्र बिल्ड-अप अक्षम करते हैं। – wildplasser