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 ...]".
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命令输出变量值时,必须在变量名前添加符号$
$
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!