Shell read命令的用法(附带实例)
在 Shell 脚本中,read 命令是一个内置命令,用于从标准输入(通常是键盘)中读取一行文本并将其赋值给一个或多个变量。该命令通常用于在脚本运行时从用户那里获取输入。
read 命令的基本语法如下:
read 命令常见命令选项如下表所示。
使用 read 命令读取变量并输出:
使用 read 命令向用户询问密码,并隐藏其输入的内容。
使用 read 命令,向用户询问数字,只读取一个字符。
read 命令的基本语法如下:
read [options] variable1 [variable2...]其中,options 表示可选的命令选项,可以用于指定输入的格式;variable1 表示一个变量名,将保存读取的输入值;variable2 表示可选变量,用于将输入的值赋给多个变量。
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。