GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan Perintah baca Bash

Pendahuluan

Bash read command adalah utilitas bawaan yang membaca teks dari input standar. Alat ini menawarkan banyak fungsi untuk membaca masukan pengguna, membantu membuat skrip Bash menjadi interaktif.

Panduan ini menjelaskan cara Bash read perintah bekerja melalui berbagai contoh dan kasus penggunaan.

Prasyarat

  • Akses ke baris perintah/terminal.
  • Dasar-dasar bekerja dengan variabel lingkungan.

Bash membaca Sintaks

Sintaks untuk Bash read perintahnya adalah:

read <options> <arguments>

read perintah mengambil input pengguna dan membagi string menjadi beberapa bidang, menetapkan setiap kata baru ke argumen. Jika variabel lebih sedikit daripada kata, read menyimpan suku-suku yang tersisa ke dalam variabel akhir.

Menentukan nama argumen adalah opsional. Perintah menyimpan input pengguna ke dalam $REPLY variabel secara default.

Opsi baca Bash

Bash read perintah dilengkapi dengan banyak opsi untuk mengontrol input pengguna. Beberapa opsi tidak memerlukan parameter tambahan, sementara yang lain memiliki parameter wajib.

Tabel di bawah ini menunjukkan semua opsi perintah yang mungkin dan deskripsinya.

Opsi Deskripsi
-a <array> Menetapkan urutan kata yang disediakan ke variabel bernama <array> .
-d <delimiter> Membaca satu baris hingga <delimiter> . yang disediakan bukannya baris baru.
-e Memulai sesi shell interaktif untuk mendapatkan baris yang akan dibaca.
-i <prefix> Menambahkan teks awal sebelum membaca baris sebagai awalan.
-n <number> Kembali setelah membaca jumlah karakter yang ditentukan sambil menghormati pembatas untuk mengakhiri lebih awal.
-N <number> Kembali setelah membaca jumlah karakter yang ditentukan, mengabaikan pembatas.
-p <prompt> Mengeluarkan string prompt sebelum membaca input pengguna.
-r Nonaktifkan garis miring terbalik untuk keluar dari karakter.
-s Tidak menggemakan input pengguna.
-t <time> Waktu perintah habis setelah waktu yang ditentukan dalam hitungan detik.
-u <file descriptor> Baca dari deskriptor file alih-alih input standar.

Lanjutkan membaca untuk melihat cara membaca perintah bekerja melalui berbagai contoh.

Contoh baca Bash

read fungsi perintah tanpa argumen atau opsi apa pun. Untuk menguji perintah, ikuti langkah-langkah di bawah ini:

1. Buka terminal.

2. Tulis perintah dan tekan Enter :

read

Prompt menunggu input pengguna.

3. Ketik kalimat dan tekan Enter .

Terminal kembali ke keadaan normal.

4. Ambil pesan dengan perintah echo:

echo $REPLY

$REPLY variabel menyimpan read pesan perintah.

Di bawah ini adalah contoh yang menunjukkan kasus penggunaan yang lebih kompleks untuk read . Bash perintah.

Argumen

Simpan input pengguna ke dalam variabel tertentu dengan memberikan argumen:

read input

Ambil pesan dengan:

echo $input

Atau, bagi input pengguna menjadi variabel yang berbeda dengan menambahkan beberapa argumen.

Misalnya:

read var1 var2

Masukan pengguna dibagi menjadi kata-kata individual. Ambil dengan:

echo $var1
echo $var2

Ketika input pengguna memiliki lebih banyak kata daripada variabel, kata-kata tambahan ditugaskan ke variabel yang terakhir disediakan:

read var1 var2
foo bar baz
echo $var1
echo $var2

Jika ada lebih sedikit kata daripada variabel, variabel yang tersisa kosong.

Pemipaan

Piping mengambil output standar dari satu perintah dan mem-parsingnya sebagai input standar untuk proses lain. Gunakan echo dan menyalurkan informasi ke read untuk parsing segera. Misalnya:

echo "Hello world!" | (read var1 var2; echo $var1; echo $var2)

Tanda kurung membuat subkulit dengan banyak perintah, dan variabel individual dicetak ke konsol.

Inidok

Cara lain untuk memasukkan teks ke dalam read perintah menggunakan notasi heredoc. Misalnya:

read var1 var2 <<< "Hello world!"
echo $var1
echo $var2

read perintah mengharapkan literal aliran input, dan pengidentifikasi pengalihan (<<< ) memasukkan string ini.

Pembatas

read perintah mendefinisikan dua jenis pembatas:

1. Pembatas untuk read memerintah.

Secara default, menekan Enter (baris baru) mengakhiri perintah. Tambahkan -d tag dan berikan pembatas yang berbeda dalam tanda kutip untuk mengakhiri secara berbeda.

Misalnya:

read -d "-"

Alih-alih baris baru, pembatas baru adalah tanda hubung (- ) alih-alih baris baru. Perintah berakhir ketika mencapai pembatas, mengabaikan jumlah argumen. Tanggapan di $REPLY atau variabel yang disediakan menyimpan input pengguna tanpa tanda hubung (- ).

2. Pembatas untuk memisahkan bidang.

Variabel $IFS (Pemisah Bidang Internal) menyimpan pembatas kata. Nilai default yang digunakan untuk memisahkan kata adalah spasi " ". Setel $IFS variabel ke nilai yang berbeda untuk mengontrol perilaku ini.

Misalnya, untuk memisahkan kata dengan tanda hubung, gunakan:

IFS="-"
echo "Hello-world!" | (read var1 var2; echo $var1; echo $var2)

Tambahkan pemisah yang berbeda untuk membagi bidang dengan nilai yang berbeda:

IFS="-_"
echo "Hello_world-!" | (read var1 var2 var3; echo $var1; echo $var2; echo $var3)

Pemisah memiliki panjang satu karakter, dan $IFS mengambil setiap pembagi yang disebutkan satu per satu.

Cepat

Gunakan perintah baca untuk membuat petunjuk interaktif. Tambahkan -p tag dan berikan teks prompt, misalnya:

read -p "Enter your username: " username

Teks prompt dicetak dan memerlukan input pengguna. Teks disimpan ke variabel $username .

echo Your username is $username.

Gunakan -p opsi dalam skrip Bash untuk bekerja dengan pembuatan cepat.

Sembunyikan Masukan Pengguna

read perintah menawarkan -s tag untuk menyembunyikan input informasi sensitif. Kasus penggunaan yang umum adalah menggabungkan -s dengan -p tag untuk membuat prompt kata sandi.

Misalnya:

read -p "Enter your password: "$'\n' -s password

Masukan pengguna tidak terlihat. Namun, menggemakan pesan akan menampilkan kata sandi:

echo $password

Berhati-hatilah dengan perilaku ini saat menggunakan read dalam skrip yang meminta kata sandi.

Tetapkan Batas Karakter

Perintah read menawarkan dua opsi saat membatasi jumlah karakter untuk input pengguna:

1. Gunakan -n pilihan dan memberikan nomor untuk mengatur batas karakter. Misalnya:

read -n 3

Tekan Enter setelah satu karakter untuk mengakhiri perintah sebelum mencapai batas karakter. Tanpa menekan Enter , perintah keluar secara otomatis setelah tiga karakter.

2. Gunakan -N opsi dan berikan nomor untuk mengatur batas karakter sambil mengabaikan pembatas. Misalnya:

read -N 3

Menekan Enter tidak mengakhiri perintah. Namun, penekanan tombol dihitung sebagai karakter.

Tetapkan Batas Waktu

Setel batas waktu pada read untuk membatasi waktu yang dibutuhkan untuk memasukkan teks:

read -t 5

Perintah secara otomatis berakhir setelah batas waktu yang ditentukan.

Array

Daripada menggunakan variabel individual untuk menyimpan string, tambahkan -a opsi untuk menyimpan input dalam array. Misalnya:

read -a array <<< "Hello world!"

Ambil elemen array dengan:

echo ${array[0]}
echo ${array[1]}

Atau, gunakan perulangan for untuk melakukan iterasi melalui array.

Karakter Lolos dan Garis Miring Balik

read perintah memungkinkan pemisahan input panjang menjadi beberapa baris menggunakan garis miring terbalik. Misalnya:

read password prompt terminal output
Hello \
world\
!

Menekan Enter setelah garis miring terbalik tidak mengakhiri perintah dan mengharapkan masukan lebih lanjut pada baris berikut.

Untuk mengabaikan interpretasi garis miring terbalik, tambahkan -r pilihan:

read -r <<< "Hello\world!"; echo $REPLY

Gunakan opsi ini saat mengurai jalur file dan teks apa pun yang memiliki arti garis miring terbalik.


Linux
  1. Cara menggunakan perintah sed Linux

  2. Cara menggunakan perintah grep Linux

  3. Cara menggunakan perintah history di Linux

  1. Bagaimana cara menggunakan perintah nama dasar?

  2. Cara Menggunakan Perintah id di Linux

  3. Cara menggunakan perintah "layar" di Linux

  1. Cara Menggunakan Perintah vmstat

  2. Cara Menggunakan Perintah sejarah Linux

  3. Cara Menggunakan Bash let Command {dengan Contoh}