Tôi đang xây dựng một bootstrap cho một dự án github và muốn nó là một lớp lót đơn giản. Tập lệnh yêu cầu nhập mật khẩu.đọc bash đang bị bỏ qua khi chạy từ ống cong
này hoạt động và dừng lại kịch bản để chờ đợi cho một đầu vào:
curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh -o setup.sh
bash setup.sh
này không, và chỉ cần bỏ qua so với yêu cầu đầu vào:
curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh | bash
setup.sh chứa mã là cái gì đó như :
# code before
read -p "Password:" -s password
# code after
Có thể có một lớp lót sạch không? Nếu vậy, làm thế nào người ta có thể làm điều đó?
Cách giải quyết:
Sử dụng ba lệnh thay vì sản lượng đường ống.
curl -s https://raw.github.com/willfarrell/.vhosts/master/setup.sh -o vhosts.sh && bash vhosts.sh && rm vhosts.sh
Có cách giải quyết nào để ghi lại đầu vào của người dùng khi sử dụng đường ống không? –
Nếu bạn chắc chắn có một con người ở đó, hãy đọc từ '/ dev/tty'? –
Tôi sẽ xem xét điều đó. cảm ơn. –