Cara meminta input pengguna dalam skrip shell

Cara meminta input pengguna dalam skrip shell

Semua orang mahu skrip mereka menjadi lebih interaktif, terutama pengguna. Pengguna ingin merasa seperti mereka bekerja dengan sekeping perisian moden dan bukannya sesuatu yang berbatu bersama dari fail kumpulan lama dan satu liner yang misteri. Mereka juga mahukan skrip dokumentasi diri yang memerlukan sedikit dokumentasi yang mungkin. Sekiranya perkara ini terdengar seperti apa yang anda tunggu, maka baca terus! Skrip shell adalah tempat yang sempurna untuk input pengguna kerana ia adalah pembentukan pengaturcaraan yang mudah. Ia pada dasarnya terdiri daripada satu siri arahan yang telah diberikan nama mereka sendiri

Perintah baca linux memberikan anda pilihan untuk meminta input pengguna. Setelah input yang disediakan pengguna masuk, kedai arahan memberikan input kepada pemboleh ubah. Yang boleh digunakan kemudian dalam skrip shell. Dalam tutorial ini, anda akan belajar, bagaimana untuk meminta input pengguna dalam skrip shell. Juga, bantu anda dengan menerima kata laluan dari pengguna dalam watak tersembunyi.

Mengambil input pengguna di Bash

Semasa menulis skrip shell, mungkin berguna untuk meminta pengguna untuk input. Ini akan membolehkan anda mendapatkan nilai tertentu yang boleh anda gunakan dalam skrip anda seperti yang anda lihat sesuai. Ia juga membolehkan anda membuat skrip anda interaktif dengan mendorong pengguna memasukkan nilai seperti direktori dan nama fail.

Di bash, anda boleh meminta pengguna dengan arahan baca.

Baca my_var  

Di sini "Baca"Adakah arahan Linux dan"my_var"Adakah pemboleh ubah, yang akan menyimpan nilai input.

Tekan masukkan selepas menaip arahan di atas. Anda akan melihat garis kosong tanpa arahan. Ini bermaksud cangkang sedang menunggu input anda. Taipkan beberapa teks dan tekan butang masukkan. Anda akan mendapat petikan lagi.

Sekarang, sahkan bahawa nilai input disimpan dalam pemboleh ubah yang ditetapkan. Untuk mengesahkannya, cetak nilai pembolehubah dengan perintah echo.

echo $ my_var 

Tidak perlu menentukan jenis data untuk pembolehubah. Shell secara automatik menyesuaikan jenis berdasarkan input pengguna.

Anda juga boleh menambah mesej pada arahan input untuk kemudahan pengguna. Nampaknya ini:

baca -p "Siapa nama anda? "My_var  

Dalam contoh ini, arahan baca diikuti oleh a -p. Ini memberitahu skrip untuk mendorong pengguna untuk input. Teks di dalam petikan selepas -p dipaparkan kepada pengguna ketika mereka diminta. Dengan menggunakan bacaan dalam skrip shell anda, anda boleh meminta pengguna untuk input dan menyimpan hasil dalam pembolehubah. Anda juga boleh menggunakan baca untuk membaca dalam satu nilai menggunakan pembolehubah untuk mendorong pengguna untuk nilai lain. Anda boleh menggunakan baca untuk banyak perkara, tetapi ia paling berguna untuk membaca input pengguna.

Skrip shell untuk meminta input pengguna

Tulis skrip shell sampel untuk meminta input pengguna dan simpan dalam pembolehubah. Pastikan untuk mencetak mesej yang betul pada skrin sebelum meminta input. Simpan nilai input dalam pemboleh ubah dan kemudian cetaknya dengan mesej selamat datang.

Buat fail baru "Input.sh " Dan tulis skrip di bawah:

#!/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 fail anda dan tutupnya.

input chmod +x.sh ./input.sh 

Dalam skrip di atas, anda mendapati bahawa input diminta dalam barisan baru. Untuk menjadikannya lebih baik, gunakan -p pilihan untuk mencetak mesej sebelum input dengan arahan baca. Dengan ini, kami akan melangkau garis echo 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 laksanakan skrip yang sama dan lihat output:

./input.sh 

Output adalah jelas. Nilai yang dimasukkan disimpan dalam pembolehubah dan kemudian mencetaknya.

Cara memasukkan kata laluan dalam skrip shell

Input kata laluan harus disembunyikan pada skrin, sama seperti apa yang dilakukan oleh shell linux ketika menetapkan kata laluan pada skrin. Kata laluan tidak boleh dilihat di skrin.

Perintah baca menyediakan pilihan mod senyap dengan "-S" untuk menyembunyikan aksara input dari skrin. Mari buat skrip sampel untuk mengambil input kata laluan dari pengguna.

vim input-pass.sh  

Tambahkan skrip di bawah.

#!/bin/bash baca -s -p "Masukkan kata laluan:" my_var echo "kata laluan anda -$ my_var"
1234#!/bin/bash read -s -p "Masukkan kata laluan:" my_varecho "kata laluan anda -$ my_var"

Simpan fail dan tutupnya.

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

Kesimpulan

Skrip shell adalah tempat yang sempurna untuk input pengguna kerana ia adalah pembentukan pengaturcaraan yang mudah. Ia pada dasarnya terdiri daripada satu siri arahan yang telah diberikan nama mereka sendiri. Panduan cara ini membantu anda memahami input pengguna dalam skrip shell. Tambahan pula memberi anda contoh untuk mengambil input kata laluan dalam skrip shell.