tôi viết sau đây hy vọng kịch bản để tự động đăng nhập ssh từ xa máy Linux Và chạy lệnh "cat /etc/APP_VERSION.txt tập tin"mong đợi kịch bản + làm thế nào để bỏ qua chuỗi nếu không xuất hiện
Đôi khi tôi không được hỏi từ lệnh ssh về-
"Are you sure you want to continue connecting (yes/no)?"
Vì vậy, trong trường hợp này, mong đợi đầu tiên vẫn chờ chuỗi "(có/không)?" - :(
Và không tiếp tục thứ hai mong đợi - "password:"
Làm thế nào để giải quyết này,
Ý tôi là nếu dòng "Bạn có chắc chắn bạn muốn tiếp tục kết nối (có? ?/không) " là không xuất hiện từ ssh
sau đó, chúng ta phải đi đến tiếp theo mong đợi 'password:', nhưng làm thế nào để làm điều này
remark1 - trong trường hợp câu hỏi" bạn có chắc chắn bạn muốn tiếp tục kết nối (có/không)? ", Xuất hiện sau đó mong đợi kịch bản làm việc tốt mà không có bất kỳ vấn đề .
remark2 - Tôi không thể sử dụng giá trị tích cực thời gian chờ (như thời gian chờ 10) vì ssh bản thân có sự chậm trễ
. . . .
tôi hy vọng kịch bản: (điều này mong đợi là một phần của kịch bản ksh của tôi)
.
.
.
APP_MACHINE=172.12.6.190
set timeout -1
spawn ssh $APP_MACHINE
expect {
"(Are you sure you want to continue connecting yes/no)?"
{ send "yes\r" }
}
expect password: {send PASS123\r}
expect > {send "cat /etc/APP_VERSION.txt\r"}
expect > {send exit\r}
expect eof
.
.
.
. . . . .
ví dụ về ssh từ máy linux của tôi
ssh APP_MACHINE
The authenticity of host 'APP_MACHINE (172.12.6.190)' can't be established.
RSA key fingerprint is 1e:8a:3d:b3:e2:8c:f6:d6:1b:16:65:64:23:95:19:7b.
Are you sure you want to continue connecting (yes/no)?
Xin lỗi tôi không thể sử dụng vì một số thời gian ssh có kết nối thời gian - đôi khi 5 hoặc 10 giây ai biết? - Đó không phải là giải pháp tốt cho tôi xin lỗi lần nữa, nó phải là giải pháp khác !!! –
Dù sao đây không phải là ý tưởng tốt vì APP của tôi cần chạy nhanh mà không có bất kỳ sự chậm trễ nào từ tập lệnh mong đợi –
Tôi thêm chuỗi exp_continue như bạn hiển thị ở đây nhưng vẫn bị kẹt. –