Cara meminta input pengguna dalam skrip shell

Cara meminta input pengguna dalam skrip shell

Semua orang ingin skrip mereka menjadi lebih interaktif, terutama pengguna. Pengguna ingin merasa seperti mereka bekerja dengan sepotong perangkat lunak modern alih-alih sesuatu yang berkumpul dari file batch lama dan satu kalimat samar. Mereka juga menginginkan skrip pendokteran diri yang membutuhkan dokumentasi sesedikit mungkin. Jika hal -hal ini terdengar seperti apa yang telah Anda tunggu, lalu baca terus! Skrip shell adalah tempat yang sempurna untuk input pengguna karena merupakan konstruk pemrograman yang sederhana. Itu pada dasarnya terdiri dari serangkaian perintah yang telah diberi nama mereka sendiri

Perintah Linux Read memberi Anda opsi untuk meminta input pengguna. Setelah hit input yang disediakan pengguna Enter, store perintah memberikan input ke variabel. Yang dapat digunakan nanti di skrip shell. Dalam tutorial ini, Anda akan belajar, cara meminta input pengguna dalam skrip shell. Juga, bantu Anda menerima kata sandi dari pengguna dalam karakter tersembunyi.

Mengambil input pengguna dalam bash

Saat menulis skrip shell, mungkin bermanfaat untuk meminta pengguna untuk input. Ini akan memungkinkan Anda untuk mendapatkan nilai spesifik yang dapat Anda gunakan dalam skrip Anda sesuai keinginan Anda. Ini juga memungkinkan Anda untuk membuat skrip Anda interaktif dengan meminta pengguna untuk memasukkan nilai seperti direktori dan nama file.

Di Bash, Anda dapat meminta pengguna dengan perintah baca.

Baca my_var  

Di Sini "membaca“Adalah perintah Linux dan“my_var"Adalah variabel, yang akan menyimpan nilai input.

Tekan enter setelah mengetik perintah di atas. Anda akan melihat garis kosong tanpa prompt. Itu berarti shell sedang menunggu input Anda. Ketik beberapa teks dan tekan tombol enter. Anda akan menemukan prompt lagi.

Sekarang, verifikasi bahwa nilai input disimpan dalam variabel yang ditentukan. Untuk mengonfirmasi, cetak nilai variabel dengan perintah gema.

Echo $ my_var 

Tidak perlu mendefinisikan tipe data apa pun untuk variabel. Shell secara otomatis menyesuaikan jenis berdasarkan input pengguna.

Anda juga dapat menambahkan pesan di prompt input untuk kenyamanan pengguna. Sepertinya ini:

baca -p "Siapa namamu? "My_var  

Dalam contoh ini, perintah baca diikuti oleh a -P. Ini memberi tahu skrip untuk meminta pengguna untuk input. Teks di dalam kutipan setelah -P ditampilkan kepada pengguna saat diminta. Dengan menggunakan baca di skrip shell Anda, Anda dapat meminta pengguna untuk input dan menyimpan hasilnya dalam variabel. Anda juga dapat menggunakan baca untuk dibaca dalam satu nilai menggunakan variabel untuk meminta pengguna untuk nilai lain. Anda dapat menggunakan baca untuk banyak hal, tetapi ini paling berguna untuk membaca input pengguna.

Skrip shell untuk meminta input pengguna

Tulis skrip shell sampel untuk meminta input pengguna dan menyimpannya dalam variabel. Pastikan untuk mencetak pesan yang tepat di layar sebelum meminta input. Simpan nilai input dalam variabel dan kemudian cetak dengan pesan selamat datang.

Buat file baru "memasukkan.SH" dan tulis skrip di bawah ini:

#!/bin/bash echo "Masukkan nama Anda:" Baca my_var echo "selamat datang $ my_var!"
12345#!/bin/bash echo "Masukkan nama Anda:" Baca my_varecho "selamat datang $ my_var!"

Simpan file Anda dan tutup.

input chmod +x.SH ./memasukkan.SH 

Dalam skrip di atas, Anda menemukan bahwa input diminta dalam baris baru. Untuk membuatnya lebih baik, gunakan -P opsi untuk mencetak pesan sebelum masukan dengan perintah baca. Dengan ini, kami akan melewatkan garis gema pertama.

Edit skrip Anda dan buat perubahan berikut.

#!/bin/bash baca -p "Masukkan nama Anda:" my_var echo "selamat datang $ my_var!"
1234#!/bin/bash baca -p "Masukkan nama Anda:" my_varecho "selamat datang $ my_var!"

Sekali lagi jalankan skrip yang sama dan lihat output:

./memasukkan.SH 

Outputnya cukup jelas. Nilai yang dimasukkan disimpan dalam variabel dan kemudian mencetaknya.

Cara memasukkan kata sandi dalam skrip shell

Input kata sandi harus disembunyikan di layar, mirip dengan apa yang dilakukan oleh linux shell saat mengatur kata sandi di layar. Kata sandi tidak boleh terlihat di layar.

Perintah baca memberikan opsi mode diam dengan "-S" untuk menyembunyikan karakter input dari layar. Mari kita buat skrip sampel untuk mengambil input kata sandi dari pengguna.

vim input-pass.SH  

Tambahkan skrip di bawah ini.

#!/bin/bash baca -s -p "Masukkan kata sandi:" my_var echo "Kata sandi Anda adalah -$ my_var"
1234#!/bin/bash baca -s -p "Masukkan kata sandi:" my_varecho "Kata sandi Anda adalah -$ my_var"

Simpan file dan tutup.

chmod +x input-pass.SH ./input-pass.SH 

Kesimpulan

Skrip shell adalah tempat yang sempurna untuk input pengguna karena merupakan konstruk pemrograman yang sederhana. Itu pada dasarnya terdiri dari serangkaian perintah yang telah diberi nama mereka sendiri. Panduan cara ini membantu Anda memahami input pengguna dalam skrip shell. Selain itu memberi Anda contoh untuk mengambil input kata sandi dalam skrip shell.