Linux中read详解

read命令相当于python中的input,主要是用于收集用户输入的信息。举个例子:相当于问:你的手机号是多少 。 然后用户在屏幕中输入『110』,此时我们就收集到了110的信息

选项说明:
-a:将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的index=0开始。
-d:指定读取行的结束符号。默认结束符号为换行符。
-n:限制读取N个字符就自动结束读取,如果没有读满N个字符就按下回车或遇到换行符,则也会结束读取。
-N:严格要求读满N个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。其中换行符或回车算一个字符。
-p:给出提示符。默认不支持"\n"换行,要换行需要特殊处理,见下文示例。例如,"-p 请输入密码:"
-r:禁止反斜线的转义功能。这意味着""会变成文本的一部分。
-s:静默模式。输入的内容不会回显在屏幕上。
-t:给出超时时间,在达到超时时间时,read退出并返回错误。也就是说不会读取任何内容,即使已经输入了一部分。

  1. -a案例

Linux中read详解_第1张图片
此时我们可以看到收集到的信息为how are you ,然后把收集到的信息保存到了变量var中(可以理解为数组),我们也可以把收集到的信息一个个打印出来,下标为0

shell中
$0   #表示运行的是什么类型的shell
$1   #表示的是函数中的参数
$2等等   #表示的都为参数
$?     #命令是否是正常返回  正常返回是0  
$@    #所有的参数
  1. -d案例
    Linux中read详解_第2张图片
    我们可以总结到,当最后输入符号为’/'时,此时为收集就到此为止
  2. -n案例
    Linux中read详解_第3张图片
    我们总结为,-n为最大保存的字符,如果输入字符超过5个,就会停止收集,但是如果我们输入3个字符点击回车,这时也会停止收集
  3. -N案例
    我的本不支持-N选项,如果可以使用的话,只有收集了指定的字符数之后才会退出收集状态,自行尝试
  4. -p案例
    Linux中read详解_第4张图片
    可以总结为,-p就是提示用户输入提示信息,然后在收集用户输入的信息。
  5. -r案例
    Linux中read详解_第5张图片
    简单的来讲,-r就是禁止反斜线转意功能
  6. -s案例
    Linux中read详解_第6张图片
    -s的意义在于输入的信息不在屏幕中进行展示
  7. -t案例
    Linux中read详解_第7张图片
    -t的意思是,只有2s的输入时间,如果过了2s自动关闭收集

你可能感兴趣的:(shell,linux)