首页 > 编程笔记 > Linux笔记 阅读:10

Shell read命令的用法(附带实例)

在 Shell 脚本中,read 命令是一个内置命令,用于从标准输入(通常是键盘)中读取一行文本并将其赋值给一个或多个变量。该命令通常用于在脚本运行时从用户那里获取输入。

read 命令的基本语法如下:
read [options] variable1 [variable2...]
其中,options 表示可选的命令选项,可以用于指定输入的格式;variable1 表示一个变量名,将保存读取的输入值;variable2 表示可选变量,用于将输入的值赋给多个变量。

read 命令常见命令选项如下表所示。

表:read命令常见命令选项
序号 命令选项 描述
1 -p 指定提示符,用于在输入之前展示给用户
2 -r 禁止转义符的解释
3 -n 指定最多读取的字符数
4 -d 指定一个字符作为结束符,遇到此字符时将会终止读取
5 -s 禁止回显用户输入的字符,隐藏其输入的内容
6 -t 指定超时时间,即在指定的时间内没有输入将会终止读取

使用 read 命令读取变量并输出:
[opencloud@server ~]$ cat read.sh
#!/bin/bash
read -p "What is your name? " name
echo "Hello, $name"
执行脚本并查看输出结果:
[opencloud@server ~]$ bash read.sh
What is your name? # 在命令行中输入tom jerry并按Enter键
Hello, tom jerry
在这个示例中,脚本会先输出一行提示,询问用户的名字。此后,脚本将等待用户输入名字,并将输入的值赋给变量 name。最后,脚本将输出一行提示。

使用 read 命令向用户询问密码,并隐藏其输入的内容。
[opencloud@server ~]$ read -sp "Enter your password: " password
Enter your password: #输入任何字符串,不会显示在屏幕上
在这个示例中,脚本会先输出一行提示,询问用户输入密码。此后,脚本将等待用户输入密码,输入的内容将被隐藏。最后,输入的值被赋给变量 password。

使用 read 命令,向用户询问数字,只读取一个字符。
[opencloud@server ~]$ read -n 1 -p "Enter a number: " number
Enter a number: 1
在这个示例中,脚本会先输出一行提示,询问用户输入数字。此后,脚本将等待用户输入一个字符,并将输入的值赋给变量 number。

相关文章