上面的例子说明,对字符串赋值时,如果带上引号,则引号本身被认为是字符串的一部分。
如果输入字符串值的时候有连续多个空格,那么显示字符串的值时,用不用双引号效果是不一样的。例如:
read命令可以一次读取多个变量的值:
read命令后面不跟变量名时,输入的值被存入内置变量REPLY中:
read命令的-p选项,用于在键盘输入前给用户提示(prompt),格式为:
例如:(www.xing528.com)
read-p命令中的提示信息也可以是一个字符串变量。在写脚本、要求用户键盘输入时,尽量多用选项-p,可以给用户明确的输入提示。或者在read命令之前用echo命令给用户显示提示也是很好的做法。例如:
命令read的选项-t后面跟数字,单位为秒,可以进行计时输入。例如,下面的命令给了用户5秒钟时间,5秒内没有键盘输入的话,read命令超时(timeout)退出,退出状态为非0(失败):
选项-t后面的数字也可以是小数。如果已经设置了内置变量TMOUT的值(见表4-3),那么这个值将作为read命令的默认超时时间。
选项-n用来计数输入的字符,当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。例如,下面命令中的-n1表示:只接受一个输入字符。准备输入Yes给变量answer,当输入完字母Y时,自动退出(不等到按其他键和回车键),变量answer被赋值为Y:
选项-s使得read命令进入“静音模式(silent)”,即用户的键盘输入不显示在屏幕上。最典型的例子就是在输入密码的时候。运行下面的命令,输入的密码是看不见的,输入完成后,再显示变量my_passwd的值才能看见密码:
read命令还可以使用文件描述符读入变量的值,选项及参数为-ufd,fd代表文件描述符,使用文件描述符给变量赋值的方法不是特别常用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。