ยูทิลิตีบรรทัดคำสั่งเพื่อดึงรหัสผ่านที่ไม่มีเสียงสะท้อนกลับ


14

คำสั่ง Bash builtin read ดูเหมือนจะไม่สนับสนุนตอนนี้ฉันต้องให้ผู้ใช้ป้อนรหัสผ่านในขณะที่ไม่ควรแสดงเสียงก้องฉันสามารถใช้เครื่องมืออะไรได้บ้าง


4
help read|grep echo: " -sอย่าสะท้อนอินพุตที่มาจากเทอร์มินัล"
donothingsuccessfully

1
@donothingsuccessfully นี้-sการขยายตัวของreadเป็นไม่ได้มาตรฐาน คุณอาจไม่สามารถใช้งานได้บน Unix / Linux
Totor

คำตอบ:


23
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
  • stty -echo ปิด Terminal echo ซึ่งเป็นจอแสดงผลที่คุณกำลังพูดถึง
  • IFS= จำเป็นต้องรักษาช่องว่างในรหัสผ่าน;
  • read -r ปิดการตีความแบ็กสแลช

ในbashคุณยังสามารถใช้read -sแต่คุณลักษณะนี้ไม่ได้เป็นมาตรฐานในเปลือกหอย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.