Tôi có một kịch bản mong đợi kết nối với một vài bộ định tuyến thông qua ssh. Tất cả các bộ định tuyến này đều có cùng một mật khẩu (tôi biết, nó sai) và kịch bản lệnh cần biết mật khẩu đó để có thể kết nối với các bộ định tuyến. Hiện tại, mật khẩu được chuyển cho kịch bản của tôi như một đối số trên dòng lệnh, nhưng điều này có nghĩa là có một dấu vết của mật khẩu đó trong tệp .bash_history của tôi cũng như trong các tiến trình đang chạy. Vì vậy, thay vào đó tôi muốn người dùng được nhắc nhập mật khẩu, nếu có thể âm thầm.Tôi làm cách nào để tạo một lời nhắc tập lệnh mong đợi cho mật khẩu?
Bạn có biết có thể nhắc người dùng nhập mật khẩu không?
Cảm ơn bạn.
Chỉnh sửa: nếu tôi kết nối với máy chủ thay vì bộ định tuyến, tôi có thể sử dụng khóa ssh thay vì mật khẩu. Nhưng các bộ định tuyến tôi đang sử dụng chỉ hỗ trợ mật khẩu.
mát cảm ơn! Thật tuyệt vời khi ngôn ngữ này không dung nạp như thế nào: Tôi đã viết "set pass $ expect_out (1, string)", với khoảng trắng trước từ "string", và nó bom. Tôi cũng không thể tìm thấy nhiều tài liệu. Tôi ước có một số giải pháp khác ngoài mong đợi. Dù sao, cảm ơn rất nhiều. – MiniQuark
"không thể tìm thấy nhiều tài liệu"?!? Có một cuốn sách toàn bộ, thường được coi là rất tốt bằng văn bản rằng nó đã không cần một ấn bản thứ hai. Nghiêm túc, kiểm tra cuốn sách đó. –
Re: một không gian giữa "1", và "chuỗi" - Tcl (và do đó mong đợi) không có mảng đa chiều. Khóa mảng chỉ là một chuỗi và "1, chuỗi" và "1, chuỗi" là khác nhau. –