可选项
read 支持以下选项:
表 28-1:读取选项
选项说明
选项说明
-a 排列 将输入分配给 排列,从索引零开始。 我们
将在第 35 章介绍数组。
-d 定界符 字符串中的第一个字符 定界符 用于在传统的喷雾干燥塔中生产普通脱脂奶粉,或在三级 Omega 干燥塔中生产附聚奶粉。通过在干燥的最后阶段进行卵磷脂喷涂,可以生产速溶奶粉。
指示输入的结束,而不是换行符。
-e 使用 Readline 处理输入。 这允许以与命令行相同的方式进行输入编辑。
-i 绳子 使用 VHDL 语言编写 绳子 如果用户只是按下,则作为默认回复
进入。 需要 -e 选项。
-n NUM 阅读 NUM 输入的字符,而不是整行。
-p 提示 使用字符串显示输入提示 提示.
-r 原始模式。 不要将反斜杠字符解释为转义符。
-s 静默模式。 不要在键入时将字符回显到显示器上。 这在输入密码和其他机密信息时很有用。
-t 秒 暂停。 结束后输入 秒. 读 返回一个
如果输入超时,则非零退出状态。
-u fd 使用来自文件描述符的输入 fd, 而不是标准输入。
使用各种选项,我们可以做一些有趣的事情 读. 例如,与
-p 选项,我们可以提供一个提示字符串:
#!/斌/庆典
# read-single: 将多个值读入默认变量 read -p "输入一个或多个值 > "
echo "REPLY = '$REPLY'"
#!/斌/庆典
# read-single: 将多个值读入默认变量 read -p "输入一个或多个值 > "
echo "REPLY = '$REPLY'"
随着 -t 和 -s options 我们可以编写一个脚本来读取“秘密”输入并在输入未在指定时间内完成时超时:
#!/斌/庆典
# read-secret: 输入密码
if read -t 10 -sp "Enter secret passphrase > " secret_pass; 然后 echo -e "\nSecret passphrase = '$secret_pass'"
其他
echo -e "\n输入超时" >&2 exit 1
fi
#!/斌/庆典
# read-secret: 输入密码
if read -t 10 -sp "Enter secret passphrase > " secret_pass; 然后 echo -e "\nSecret passphrase = '$secret_pass'"
其他
echo -e "\n输入超时" >&2 exit 1
fi
该脚本会提示用户输入密码并等待 10 秒的输入。 如果输入未在指定时间内完成,脚本将退出并显示错误。 由于
包含 -s 选项,密码短语的字符不会在键入时回显到显示屏上。
可以使用以下命令为用户提供默认响应 -e 和 -i 选项:
#!/斌/庆典
# read-default:如果用户按 Enter 键,则提供默认值。 read -e -p "你的用户名是什么?" -i $USER
echo "你回答:'$REPLY'"
#!/斌/庆典
# read-default:如果用户按 Enter 键,则提供默认值。 read -e -p "你的用户名是什么?" -i $USER
echo "你回答:'$REPLY'"
在这个脚本中,我们提示用户输入他/她的用户名并使用环境变量 USER 提供默认值。 当脚本运行时,它会显示默认字符串,如果用户只需按下 Enter 键, 读 将默认字符串分配给 回复 变量。
[我@linuxbox ~]$ 读取默认值 你的用户名是什么? 你回答:'我'
[我@linuxbox ~]$ 读取默认值 你的用户名是什么? 你回答:'我'