Shell read 键盘输入并复制给变量

简介: Shell read 键盘输入并复制给变量
  • 使用格式
$ read [-p "提示信息"] 变量名
  • -p:提示信息。
    -t:指定超时秒数。
    -s:设置是否在终端显示输入的内容,设置则为不显示,默认显示。
    -a:将分隔后的字段依次存储到 -a 指定的数组中,存储的起始位置从数组的 index=0 开始。
    -d:指定读取行的结束符号,默认结束符号为换行符。
    -n:限制输入 n 个字符就自动结束输入,如果没有输入满 n 个字符就按下回车或遇到换行符,则也会结束读取。
    -N:限制输入 N 个字符就自动结束输入,如果没有输入满 N 个字符就按下回车或遇到结束符,不会结束 read 输入,此时的结束符算一个字符。
    -r:禁止反斜线的转义功能,这意味着 \ 会变成文本的一部分。
    上面配置项没有先后顺序,谁前谁后都行。
  • 举例
# 没有指定接受变量,直接输入名称,没有指定变量默认会存储到 $REPLY 全局属性中
$ read
$ echo $REPLY
# 指定接收变量,直接输入名称
$ read name
$ echo $name
# 使用 -p 有提示信息
$ read -p "请输入名称:" name
$ echo $name
# 使用 -s 有提示信息,输入不可见
$ read -s -p "请输入名称:" name
$ read -p "请输入名称:" -s name
$ echo $name
# 使用 -t 必须在 3 秒内完成输入,否则 read 自动退出
$ read -t 3 name
$ echo $name
# 使用 -a 将输入的数据进行空格分隔成数组,并存储到 $arr
$ read -a arr
11 22 33 44
# 默认输出数组 0 位置
$ echo $arr
11
# 输出全部
$ echo ${arr[@]}
11 22 33 44
$ echo ${arr[0]}
11
$ echo ${arr[1]}
22
# 使用 -d 设置 / 为结束符,而不是回车键位结束输入
$ read -d '/'
123
123
123/
$ echo $REPLY
123 123 123
# 使用 -n 设置输入长度为 5,输入到 5 位字符时自动结束输入
$ read -n 5
12345
$ echo $REPLY
12345
相关文章
|
2月前
|
存储 Java Shell
Shell 变量
10月更文挑战第2天
28 0
|
3月前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
3月前
|
Java Shell Linux
Shell 变量设置
Shell设置变量
52 5
|
3月前
|
Java Shell Linux
Shell 变量设置25-1
Shell编程语言是一种非类型的解释型语言,无需像C++/Java那样事先声明变量。通过赋值即可定义变量,在Linux支持的所有Shell中均适用。变量分为局部变量与环境变量,前者仅限于定义脚本内使用,后者可在其派生的子进程中使用。常见系统变量如$0表示当前程序名称,$n表示第n个参数(n=1,2,...,9),$*代表所有参数,$#代表参数个数,$?表示命令执行后的状态(0为成功),$UID为当前用户ID,$PWD表示当前目录。定义变量如`A=123`,
33 0
|
4月前
|
Shell
[shell]在curl测试的data参数中引用变量
[shell]在curl测试的data参数中引用变量
244 1
|
5月前
|
分布式计算 大数据 Shell
MaxCompute产品使用合集之odps shell如何将ech变量的结果集合写入文件,并且指定服务器的位置
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
49 10
|
5月前
|
Shell Linux
Linux环境变量之shell中export定义全局变量和echo 变量的区别
Linux环境变量之shell中export定义全局变量和echo 变量的区别
|
2月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
113 1
|
1月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
65 2
6种方法打造出色的Shell脚本