Utilitas baris perintah untuk mengambil kata sandi, yang tidak memiliki gema kembali


14

Perintah bash builtin read tampaknya tidak mendukungnya, sekarang saya harus membiarkan pengguna memasukkan kata sandi sementara tidak ada gema yang ditampilkan, alat apa yang bisa saya gunakan?


4
help read|grep echo: " -sjangan gema input yang datang dari terminal"
donasi berhasil

1
@tidak berhasil -sekstensi readini tidak standar . Anda mungkin tidak dapat menggunakannya di Unix / Linux.
Totor

Jawaban:


23
#!/bin/bash
stty -echo
IFS= read -p 'Enter password: ' -r password
stty echo
printf '\nPassword entered: %s\n' "$password"
  • stty -echo mematikan gema terminal, yang merupakan tampilan yang sedang Anda bicarakan;
  • IFS= diperlukan untuk mempertahankan spasi putih dalam kata sandi;
  • read -r mematikan interpretasi backslash.

Di dalam bashAnda juga dapat menggunakan read -s, tetapi fitur ini tidak standar di shell.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.