shell 获取用户输入,shell脚本提示用户输入参数
终极管理员 知识笔记 83阅读
超时
使用 read 命令时要当心。脚本可能会一直苦等着用户输入。如果不管是否有数据输入脚
本都必须继续执行你可以用-t 选项来指定一个计时器。-t 选项会指定 read 命令等待输入的
秒数。如果计时器超时则 read 命令会返回非 0 退出状态码
$ cat asknametimed.sh #!/bin/bash # Using the read command with a timer # if read -t 5 -p Enter your name: name then echo Hello $name, welcome to my script. else echo echo Sorry, no longer waiting for name. fi exit $ $ ./asknametimed.sh Enter your name: Christine Hello Christine, welcome to my script. $ $ ./asknametimed.sh Enter your name: Sorry, no longer waiting for name. $
可以不对输入过程计时而是让 read 命令统计输入的字符数。当字符数达到预设值时
就自动退出将已输入的数据赋给变量

$ cat continueornot.sh #!/bin/bash # Using the read command for one character # read -n 1 -p Do you want to continue [Y/N]? answer # case $answer in Y | y) echo echo Okay. Continue on...;; N | n) echo echo Okay. Goodbye exit;; esac echo This is the end of the script. exit $ $ ./continueornot.shDo you want to continue [Y/N]? YOkay. Continue on... This is the end of the script. $ $ ./continueornot.sh Do you want to continue [Y/N]? nOkay. Goodbye $

标签: