Việc sử dụng echo-e "\ 029"
cũng không hoạt động. Nhưng nếu sử dụng strg + alt gr + ] trực tiếp trong phiên đầu cuối -> nó hoạt động.Không thể đóng phiên scpi (telnet) với echo "^]" khi tôi sử dụng nó trong tập lệnh
Tôi phải đặt câu hỏi cụ thể hơn:
Tôi kết nối bộ tạo tín hiệu RF (AGILENT) qua Telnet/SCPI.
Nếu tôi làm hướng dẫn này trên thiết bị đầu cuối và nhấn ở phần cuối của phiên giao dịch CTRL + ALT GR + ] cho '^]' sau đó đóng phiên SCPI đúng và tôi có thể gõ quit
để đóng phiên telnet đúng.
Không có thông báo lỗi trên màn hình của trình tạo RF. Nên nó phải là.
Nếu tôi thực hiện điều này qua tập lệnh, phiên SCPI dường như không nhận ra điều kiện tín hiệu ngắt '^]' và sẽ bị buộc phải đóng sau khi kết thúc tập lệnh (telnet và scpi). -> Tin nhắn: "Bị ngắt kết nối bởi máy chủ nước ngoài". Rất tiếc, tôi nhận được thông báo lỗi trên màn hình của trình tạo RF -> "tiêu đề không hợp lệ", v.v.
Sau khi kết nối thành công xuất hiện: Đã kết nối với 192.168.10.66 Escape Character is '^]' -> Đây là điểm vấn đề. Nhập thủ công trong thiết bị đầu cuối hoạt động chính xác, tập lệnh không hoạt động.
Kịch bản của tôi trông giống như sau:
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
Tại sao không chỉ 'thoát'? –
Tôi không thấy câu hỏi ở đây. –
Nó xuất hiện scpi có một lệnh đóng (* prefix_close *), nhưng nó sẽ không làm tôi ngạc nhiên nếu chỉ đóng kết nối sẽ có tác dụng tương tự (chỉ cần rơi ra khỏi cuối kịch bản sẽ làm). Khi khởi động, telnet có thể kiểm tra nếu stdin là một tty (cần thiết cho IAC DO/DONT echo, ví dụ) telnets bình thường vô hiệu hóa "active" IAC session build-up khi được sử dụng trên một cổng không chuẩn. – wildplasser