`

shell-read

阅读更多
shell - read 命令

最基本的用法:
#!/bin/bash   
echo -n "Enter your name:"   //参数-n的作用是不换行,echo默认是换行    
read  name                   //从键盘输入   
echo "hello $name,welcome to my program"     //显示信息  
exit 0                       //退出shell程序。  



由于read命令提供了-p参数,允许在read命令行中直接指定一个提示。

#!/bin/bash   
read -p "Enter your name:" name  
echo "hello $name, welcome to my program"  
exit 0 


在上面read后面的变量只有name一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量,如果输入数据个数过多,则最后所有的值都给第一个变量。如果太少输入不会结束。 

1、记时间限制。
使用read命令存在着潜在危险。脚本很可能会停下来一直等待用户的输入。如果无论是否输入数据脚本都必须继续执行,那么可以使用-t选项指定一个 计时器。 
#!/bin/bash  
if read -t 5 -p "please enter your name:" name    
then    
    echo "hello $name ,welcome to my script"   
else  
    echo "sorry,too slow"  
fi  
exit 0 



2、输入字符数量限制。
除了输入时间计时,还可以设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。

#!/bin/bash    
read -n1 -p "Do you want to continue [Y/N]?" answer  
case $answer in  
Y | y)    
      echo "fine ,continue";;    
N | n)    
      echo "ok,good bye";;    
*)    
     echo "error choice";;   
esac    
exit 0  


该例子使用了-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即 

3、默读
有时会需要脚本用户输入,但不希望输入的数据显示在监视器上。典型的例子就是输入密码,当然还有很多其他需要隐藏的数据。 
#!/bin/bash   
read  -s  -p "Enter your password:" pass  
echo "your password is $pass"  
exit 0 



    每次调用read命令都会读取文件中的"一行"文本。当文件没有可读的行时,read命令将以非零状态退出。  
读取文件的关键是如何将文本中的数据传送给read命令。 
    最常用的方法是对文件使用cat命令并通过管道将结果直接传送给包含read命令的 while命令 
#!/bin/bash
source /etc/profile

echo "-------------read file $filename begin -------------"
cat $*|
while read name password email 
do 
  echo "name = $name,password = $password,email = $email"
done

echo "-------------read file end-------------"
1
0
分享到:
评论

相关推荐

    sqlite-shell-win32-x86

    "sqlite-shell-win32-x86"这个压缩包文件是为Windows 32位操作系统提供的SQLite命令行界面工具。这个工具使得用户可以直接在命令行环境下与SQLite数据库进行交互,执行SQL查询、创建数据库、管理表以及执行其他...

    js-shell-0.2.zip

    4. 强大的控制台或REPL(Read-Eval-Print Loop):便于开发者测试代码片段,进行调试。 5. 构建工具:集成构建流程,如自动化编译、压缩、混淆,优化生产环境的代码。 6. 工具链支持:可能包括了IDE插件、代码格式...

    sqlite-shell-win32-x86-3071602.zip

    7. **批处理**:可以通过输入`.read script.sql`执行包含多条SQL语句的文本文件。 SQLite因其小巧、高效和易用的特性,被广泛应用于应用程序的本地数据存储,如网页浏览器、移动应用、配置文件等。在开发中,它提供...

    Linux运维-3.Shell编程-11shell基础-116read接收键盘输入.avi

    Linux运维-3.Shell编程-11shell基础-116read接收键盘输入.avi

    UNIX Shell-1

    此外,UNIX Shell还支持各种内置命令,如`echo`打印字符串,`read`读取用户输入,`export`设置环境变量。学习UNIX Shell,不仅可以提高命令行操作效率,还能深入理解操作系统的工作原理,对于系统管理员、开发者和...

    Linux-shell-ppt

    read -p "请输入你的名字: " name echo "欢迎, $name!" for i in {1..5}; do echo "$i" done if [ $# -eq 0 ]; then echo "没有传入参数" else echo "你传入了 $# 个参数" fi ``` **管道与重定向** 1. **管道...

    shell-colors:basher软件包可为颜色提供方便的ANSI转义序列

    贝壳色 这是一个软件包,提供...read -p ' What ' " ' " ' s your name? ' NAME echo -n ' Hi ' color_blue $NAME echo ' , nice to meet you! ' 职能 采购库后,将可以使用以下功能: color_black color_blue col

    JDK17-java-shell-user-guide.pdf

    Java Shell 还提供了一个 REPL(Read-Eval-Print Loop)环境,允许用户实时查看执行结果。Java Shell 支持多种语言模式,包括 Java、Groovy、Scala 等。 在 Java Shell 中,用户可以使用各种命令来执行不同的操作。...

    Introduction to unix and linux shell - 1

    - `read` 命令用于从标准输入读取一行文本并将其存储到变量中。 - `cat` 命令用于显示文件内容或将多个文件合并为一个。 - `>` 和 `>>` 用于将命令的输出重定向到文件中。 - `|` 符号用于连接两个命令,使得第一...

    shell cat read tee

    本文将详细讲解"shell cat read tee"相关的知识点,包括Linux下的正则表达式、命令的执行顺序、Shell的输入输出以及重定向。 首先,让我们了解一下正则表达式(Regular Expression)。正则表达式是一种模式匹配工具...

    shell-and-Makefile.rar_makefile_makefile shell_shell_shell Makef

    9. **Shell内置命令**: 如`cd`, `echo`, `read`, `break`, `continue`等,不启动新进程。 10. **函数和命令别名**: 可以定义函数和命令别名,简化常用命令。 通过阅读《跟我一起写Makefile.pdf》和《Linux主要shell...

    shell编程--用户信息管理(模拟).doc

    * 在 shell 脚本中,可以使用 read 语句来实现与用户的交互,例如 `read choice`。 * 使用 echo 语句可以向用户输出信息,例如 `echo -n "警告 【$dataSource】 不存在!请确认!"`。 知识点五:文件读写 * 在 ...

    shell-任务

    此外,还可以利用`read`命令从用户输入或标准输入中读取数据,进行循环处理。 在编写Shell脚本时,需要注意以下几点: - 注释:使用`#`开头的行是注释,有助于理解脚本。 - 变量赋值:`var=value`,注意等号两边不...

    SHELL编程---初学者

    - 避免使用命令行交互,如`read`,除非必要。 通过学习和实践这些基本概念,初学者可以逐步掌握SHELL编程,从而更高效地利用UNIX/Linux系统。《UNIX[1].Shell编程24学时教程.pdf》这样的资源会详细讲解这些主题,...

    shell编程-shell编程

    - **使用`shift`和`read`命令**: 学习如何移动位置参数和读取用户输入。 #### 二、Shell程序的基本概念 **Shell程序**本质上是一个包含了一系列Unix命令的文件。为了使这个文件能够被Shell执行,需要确保其具有...

    linux 下Shell编程各个知识点举例

    基本包含了Linux下Shell编程开发基础知识点相关练习代码,包含 awk.sh for.sh ip-get.sh read.sh tmp.sh calc.sh func.sh login.sh select.sh var.sh case.sh guess_data.sh...file_judge.sh if.sh read-file.sh test.c

    OSLab-Shell-for-MINIX3

    在编写Shell时,开发者会频繁使用这些接口,如`fork`创建子进程,`waitpid`等待子进程结束,`open`和`close`进行文件操作,`write`和`read`进行输入输出等。 四、MINIX3的微内核架构 MINIX3采用微内核设计,核心只...

    terraform-shell-outputs

    terraform-shell-输出 ... command = "read input; echo $input" stdin = "hello stdin" env = { SOME = "value" OTHER = 123 } chdir = "/tmp" } output "mycmd" { value = { stdout = "${m

    shell-scripting-exercises:一些关于shell脚本的练习

    2. **命令行交互**:Shell脚本可以与用户进行交互,通过`read`命令获取用户输入,并根据输入执行相应的操作。 3. **文件和目录操作**:学会使用`cd`、`ls`、`mkdir`、`rm`、`cp`、`mv`等命令处理文件和目录。在脚本...

    Unixshell编程-shell编程简介.pdf

    - **`read`命令**: 从标准输入读取一行数据,并将其存储到指定的变量中。 ### 6. 控制结构 - **条件判断**: 使用`if`、`elif`、`else`进行条件判断。 - **循环**: 可以使用`for`、`while`、`until`等结构实现循环。...

Global site tag (gtag.js) - Google Analytics