GNU/Linux >> Belajar Linux >  >> Linux

Menyembunyikan input pengguna di terminal dalam skrip Linux

untuk solusi yang berfungsi tanpa bash atau fitur tertentu dari read Anda dapat menggunakan stty untuk menonaktifkan gema

stty_orig=$(stty -g)
stty -echo
read password
stty $stty_orig

Berikan saja -s ke panggilan baca Anda seperti ini:

$ read -s PASSWORD
$ echo $PASSWORD

Perbarui

Jika Anda ingin tampil mewah dengan mengeluarkan * untuk setiap karakter yang mereka ketik, Anda dapat melakukan sesuatu seperti ini (menggunakan read -s andreas solusi):

unset password;
while IFS= read -r -s -n1 pass; do
  if [[ -z $pass ]]; then
     echo
     break
  else
     echo -n '*'
     password+=$pass
  fi
done

Tanpa mewah

echo "Please enter your username";
read username;

echo "Please enter your password";
stty -echo
read password;
stty echo

Linux
  1. Bisakah Bash Menulis Ke Aliran Inputnya Sendiri?

  2. Linux – Bagaimana Cara Menjalankan Script Pada Layar Lock/unlock?

  3. Bagaimana Menambahkan Pengguna Unix/linux Dalam Skrip Bash?

  1. Bagaimana Cara Menjalankan Perintah Sebelum Login Pengguna Di Linux?

  2. Dapatkan Script Untuk Berjalan Lagi Jika Input Ya?

  3. Bash Script - Cara Membaca Input Pengguna

  1. vlock – Cara Cerdas untuk Mengunci Konsol atau Terminal Virtual Pengguna di Linux

  2. perintah su Linux

  3. Kata Sandi Panik di Linux