Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Apakah kegunaan perintah baca Linux?

Apakah kegunaan perintah baca Linux?

青灯夜游
青灯夜游asal
2023-02-15 10:39:172433semak imbas

Di Linux, arahan baca digunakan untuk membaca input papan kekunci Ia boleh membaca baris data daripada input standard dan menetapkan nilai setiap medan baris input kepada pembolehubah shell. anda boleh membaca baris data dalam fail, sintaksnya ialah "baca [parameter] [nama ...]".

Apakah kegunaan perintah baca Linux?

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Pengenalan arahan baca Linux

Arahan baca dalam Linux membaca baris daripada input standard dan menukar setiap medan baris input Nilai ​ditugaskan kepada pembolehubah shell.

Sintaks

read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

Parameter

参数 描述
-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
-d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
-p 后面跟提示信息,即在输入前打印提示信息。
-e 在输入的时候可以使用命令补全功能。
-n 后跟一个数字,定义输入文本的长度,很实用。
-r 屏蔽,如果没有该选项,则作为一个转义字符,有的话 就是个正常的字符了。
-s 安静模式,在输入字符时不再屏幕上显示,例如 login 时输入密码。
-t 后面跟秒数,定义输入字符的等待时间。
-u 后面跟 fd,从文件描述符中读入,该文件描述符可以是 exec 新开启的。

Penerangan

baca perintah dalaman digunakan untuk membaca satu baris data daripada input standard. Perintah ini boleh digunakan untuk membaca input papan kekunci, dan apabila menggunakan ubah hala, boleh membaca baris data daripada fail.

baca contoh penggunaan arahan

1. Bacaan ringkas

#!/bin/bash
echo "请您输入网站名: "  
#读取从键盘的输入  
read website  
echo "你输入的网站名是 $website"  
exit 0  #退出

2 Baca fail

Setiap kali anda memanggil arahan baca, "satu baris" teks dalam fail akan dibaca. Apabila fail tidak mempunyai baris yang boleh dibaca, arahan baca akan keluar dengan status bukan sifar.

Kita boleh menggunakan arahan kucing untuk menyalurkan keputusan terus ke arahan while yang mengandungi arahan baca.

Kandungan fail ujian test.txt adalah seperti berikut:

AAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCC
DDDD=DDDD=DDDD=DDDD ===== ===== Chuanzhi Podcast

Skripnya adalah seperti berikut, anda boleh meletakkan skrip ke dalam xxx.sh untuk pelaksanaan

#!/bin/bash
count=1
cat test.txt | while read line      
# cat 命令的输出作为read命令的输入,read读到>的值放在line中
do
   echo "Line $count:$line"
   count=$[ $count + 1 ]          # 注意中括号中的空格。
done
echo "finish"
exit 0

3. Contoh:

read 1987name
从标准输入读取输入并赋值给变量1987name。
 
read first last
从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量first中,并将该行其他的输入放在变量last中。
 
read
从标准输入读取一行并赋值给特定变量REPLY。
 
read -a arrayname
把单词清单读入arrayname的数组里。
 
read -p "text"
打印提示(text),等待输入,并将输入存储在REPLY中。
 
read -r line
允许输入包含反斜杠。
 
read -t 3
指定读取等待时间为3秒。
 
read -n 2 var
从输入中读取两个字符并存入变量var,不需要按回车读取。
 
read -d ":" var
用定界符“:”结束输入行。

Tambah contoh tidak membenarkan kata laluan dipaparkan semasa memasukkan kata laluan pada terminal itu.

方法1:
 
#!/bin/bash
read -p "输入密码:" -s pwd
echo
echo password read, is "$pwd"
 
方法2:
 
#!/bin/bash
stty -echo
read -p "输入密码:" pwd
stty echo
echo
echo 输入完毕。
Antaranya, pilihan

melumpuhkan penghantaran output ke terminal, manakala pilihan -echo membenarkan penghantaran output. echo

Nota: Apabila menggunakan arahan gema untuk mengeluarkan nilai pembolehubah, anda mesti menambah simbol

sebelum nama pembolehubah. Jika tidak, gema akan terus mengeluarkan nama pembolehubah. $

Cadangan berkaitan: "

Tutorial Video Linux"

Atas ialah kandungan terperinci Apakah kegunaan perintah baca Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Apakah kata laluan sudo linux?Artikel seterusnya:Apakah kata laluan sudo linux?