Tôi đang tạo tập lệnh bash của riêng mình, nhưng hiện tại tôi đang bị kẹt. Về cơ bản, kịch bản sẽ được sử dụng để tự động thiết lập máy chủ trong CentOS. Một số phần mềm thường yêu cầu người dùng nhập mật khẩu. Tôi muốn tập lệnh đặt mật khẩu mà tôi đã tạo và lưu trữ dưới dạng biến thay vì yêu cầu người dùng.Mô phỏng đầu vào của người dùng trong tập lệnh bash
Khi thông báo "Mật khẩu mới:" xuất hiện trong khi cài đặt, làm cách nào để làm cho tập lệnh đặt giá trị được lưu trữ trong biến $key
như thể người dùng đã nhập, với tập lệnh bash?
Vâng, tôi sử dụng kỳ vọng rất nhiều! – Napolux
dude ở đây là "Mật khẩu mới:" xuất hiện trong khi tập lệnh đang cài đặt nội dung bằng yum (ví dụ như mysql}. Bạn có thể cho tôi xem đoạn mã cho trường hợp cụ thể này không. Tôi sử dụng hầu hết và không bao giờ được sử dụng như mong đợi. hướng dẫn bạn cung cấp, có vẻ như bạn có thể sử dụng mong đợi khi người dùng giả sử nhập một cái gì đó – Werulz
Nhìn vào dòng '#!' - đây là một kịch bản * Kỳ vọng *. Toàn bộ điều được chạy bằng 'mong đợi', không phải bởi' bash' Vì vậy, nó được viết bằng ngôn ngữ Mong đợi (về cơ bản là Tcl) Các lệnh quan trọng là ở đó - 'spawn' để bắt đầu lệnh bạn đang tương tác,' expect' để chờ nó gửi một chuỗi cụ thể, và 'send 'để gửi trả lời. Nếu bạn muốn chuyển quyền kiểm soát trở lại người dùng, bạn có thể làm điều đó với' tương tác'. –