Maison  >  Article  >  Opération et maintenance  >  A quoi sert la commande Linux read ?

A quoi sert la commande Linux read ?

青灯夜游
青灯夜游original
2023-02-15 10:39:172357parcourir

Sous Linux, la commande read est utilisée pour lire la saisie au clavier. Elle peut lire une ligne de données à partir de l'entrée standard et attribuer la valeur de chaque champ de la ligne de saisie à une variable shell. Lorsque la redirection est utilisée, elle peut être. lire Une ligne de données dans le fichier, la syntaxe est "lire [paramètre] [nom ...]".

A quoi sert la commande Linux read ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Introduction à la commande Linux read

La commande read sous Linux lit une ligne à partir de l'entrée standard et attribue la valeur de chaque champ de la ligne d'entrée à une variable shell.

Syntaxe

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

Parameters

Parameters Description
-a suivie d'une variable, qui sera considérée comme un tableau, puis affectée d'une valeur. La valeur par défaut est les espaces . séparateur.
-d est suivi d'un identifiant. En fait, seul le premier caractère qui le suit est utile comme signe de fin.
-p est suivi d'un message d'invite, c'est-à-dire que le message d'invite est imprimé avant la saisie.
-e Vous pouvez utiliser la fonction de complétion de commande lors de la saisie.
-n suivi d'un chiffre définit la longueur du texte saisi, ce qui est très pratique.
-r bouclier, s'il n'y a pas cette option, il sera utilisé comme personnage d'échappement, s'il y en a, ce sera un personnage normal.
-s Mode silencieux, ne s'affiche plus à l'écran lors de la saisie de caractères, comme la saisie d'un mot de passe lors de la connexion.
-t suivi de secondes définit le temps d'attente pour la saisie des caractères.
-u suivi de fd, lit le descripteur de fichier, qui peut être nouvellement ouvert par exec.

Description

La commande interne read est utilisée pour lire une seule ligne de données à partir de l'entrée standard. Cette commande peut être utilisée pour lire la saisie au clavier et, lors de l'utilisation de la redirection, peut lire une ligne de données à partir d'un fichier.

Exemple d'utilisation de la commande read

1. Lecture simple

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

2. Lecture de fichiers

Chaque fois que vous appelez la commande read, "une ligne" de texte dans le fichier. sera lu. Lorsque le fichier ne comporte aucune ligne lisible, la commande read se termine avec un statut différent de zéro.

Nous pouvons utiliser la commande cat pour diriger les résultats directement vers la commande while contenant la commande read.

Le contenu du fichier de test test.txt est le suivant :

AAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDDDDD
================ Chuanzhi Podcast

Le scénario est comme suit, vous pouvez mettre le script Allez sur xxx.sh pour exécuter

#!/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 Exemple :

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
用定界符“:”结束输入行。

Ajoutez un exemple de non-autorisation d'affichage du mot de passe lors de la saisie du mot de passe dans le fichier. Terminal.

方法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 输入完毕。

Parmi eux, l'option -echo interdit l'envoi de la sortie au terminal, tandis que l'option echo permet d'envoyer la sortie. -echo禁止将输出发送到终端,而选项echo则允许发送输出。 

 注意:使用echo命令输出变量值时,必须在变量名前添加符号$

Remarque : lorsque vous utilisez la commande echo pour générer des valeurs de variable, vous devez ajouter le symbole $ avant le nom de la variable. Sinon, echo affichera directement le nom de la variable.

Recommandations associées : "Tutoriel vidéo Linux

"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn