cuốn sách gpt4 ai đã làm

linux - tập lệnh mong đợi + sự mong đợi phù hợp trong trường hợp không cần mật khẩu

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 00:27:21 27 4
mua khóa gpt4 Nike

Tập lệnh mong đợi bên dưới hoạt động tốt khi $IP của máy Linux yêu cầu mật khẩu sau khi đăng nhập

Nhưng trong một số trường hợp, một số máy Linux không yêu cầu mật khẩu ssh (chúng ta có thể đăng nhập mà không cần mật khẩu),

Vì vậy, tôi cần thay đổi tập lệnh mong đợi của mình để hỗ trợ máy không cần mật khẩu

Vui lòng đề xuất cách phù hợp với tập lệnh mong muốn của tôi để hỗ trợ máy có mật khẩu và máy không có mật khẩu

 * Mục tiêu của tập lệnh mong đợi sau đây là kiểm tra tên máy chủ trên máy Linux từ xa


mong đợi_test=`cat << EOF
đặt thời gian chờ -1
sinh ra tên máy chủ ssh $IP
trông chờ {
")?" { gửi "có\r" ;
từ: {gửi "pass123\r" }
}
mong đợi
EOF`



mong đợi -c "$ mong đợi_test"

Ví dụ exe (có mật khẩu) trên máy từ xa (tên máy từ xa - Linux1_machine)

  IP=10.17.18.6

mong đợi -c "$ mong đợi_test"

sinh ra tên máy chủ ssh 10.17.18.6
sh: /usr/local/bin/stty: không tìm thấy
Hệ thống máy tính này, bao gồm tất cả các thiết bị, mạng và thiết bị mạng có liên quan (đặc biệt bao gồm cả truy cập Internet), là ưu điểm
Đúng
Mật khẩu:
Linux1_machine

Ví dụ về thực thi tập lệnh mong đợi trên máy không yêu cầu đăng nhập mật khẩu

 IP=10.10.92.26


mong đợi -c "$ mong đợi_test"


sinh ra tên máy chủ ssh 10.10.92.26
sh: /usr/local/bin/stty: không tìm thấy
Linux15_machine
mong đợi: id sinh sản exp5 không mở
trong khi thực hiện
"mong đợi eof"

câu trả lời hay nhất

Bạn có một số lựa chọn.

Nếu bạn biết điều gì sẽ xảy ra với máy chủ không yêu cầu đăng nhập (ví dụ: phiên sẽ chuyển trực tiếp đến lời nhắc), hãy thêm câu lệnh mong đợi:

trông chờ {
")?" { gửi "có\r" ;
từ: {gửi "pass123\r" }
"nhắc nhở" {làm gì đó }
}

Nếu bạn không có lời nhắc nhất quán, bạn có thể hãy thử sử dụng Biểu thức chính quyMẹo để thử nghiệm nhiều lĩnh vực:

đặt lời nhắc “(%|#|\\$) $” ;# lời nhắc mặc định
trông chờ {
")?" { gửi "có\r" ;
từ: {gửi "pass123\r" }
-re $prompt { làm gì đó }
}

Nếu bạn chỉ đơn giản là không biết mình sẽ nhận được gì (điều này có vẻ khó xảy ra), bạn cũng có thể thêm một hành động khi hết thời gian Chờ đợi.

trông chờ {
")?" { gửi "có\r" ;
từ: {gửi "pass123\r" }
hết thời gian {làm gì đó}
}

Điều này sẽ cho phép kỳ vọng di chuyển nếu không nhận được hàng dự kiến ​​nào khác.

Nhìn thấy http://wiki.tcl.tk/11583Ví dụ cụ thể về những gì bạn muốn làm. Mà còn,Bắt đầu với chương Mong đợi từ cuốn sách OreillyĐáng đọc.

Về linux - Expect script + fit Expect trong trường hợp không cần mật khẩu, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/9569733/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress