[bash]read命令
2014-09-27 10:43
141 查看
1. 基本的read和带提示的read命令:
一个简单的应用:
2. 如果输入时不指定接受输入数据的变量则数据会自动保存在环境变量$REPLY中:
3. 超时处理:
4. 对输入进行计数:
5. -s选项用来隐藏输入信息:
6. 从文件中管接信息:
#!/bin/bash echo -n "Enter you name: " read name echo Hello $name! #和上例的效果一样 #-p命令使得read具有提示信息的能力 #注意,为了给提示信息最后留一个空格的空间,提示信息要用""括起来 #否则会作为命令参数的分隔符看待 #如果不加空格后面的每个单词会被当做echo的参数看待,当然这些都是要打印的参数 read -p "Please enter your name: " name echo Hello $name! #read对""包含空格的参数不敏感,暴力地以空格作为参数的分隔符 #从头开始将输入按照空格隔开的原则一个一个分给变量 #当倒数第二个变量分配完毕之后,剩余的输入将作为一个参数统统分给最后一个变量 #包括字符串中的空格 read -p "Please enter your name: " first last echo Your first name is $first and your last name is $last
#output test 3: Please enter your name: "sdfx xx" kkk Your first name is "sdfx and your last name is xx" kkk
一个简单的应用:
#!/bin/bash read -p "Please enter your age: " age days=$[ $age * 365 ] echo That makes you over $days days old!
2. 如果输入时不指定接受输入数据的变量则数据会自动保存在环境变量$REPLY中:
#!/bin/bash #一个简单的求阶乘的例子 read -p "Please enter a number: " fac=1 for (( i = 2; i <= $REPLY; i++ )) do fac=$[ $i * fac ] done echo The factorial of $REPLY is $fac
3. 超时处理:
#!/bin/bash #-t后面的选项参数表示输入等待的秒数 #如果超时则命令返回非0码 #因此经常和if或while等配合使用 if read -t 3 -p "Please enter you name: " name then echo Hello $name! else echo #加一个换行,否则仍然会停留在输入的那一行上 echo Sorry, you are too slow! fi
4. 对输入进行计数:
#!/bin/bash #选项n表示对输入的字符个数计数,一旦到达指定选项参数的个数时不用回车立即就读入并处理输入的数据 read -n1 -p "Do you want to continue [Y/N]? " ans echo #由于不用回车所以这里需要换行一下 case $ans in Y | y) echo "Fine, continue on...";; #多种选项的合并用|运算符即可 N | n) echo "Good bye!" exit 5;; #直接退出脚本并返回一个推出状态码5 esac echo This is the end of the script
5. -s选项用来隐藏输入信息:
#!/bin/bash #-s选项用于隐藏输入,实际上是将输入信息的颜色设置成和底色一样 read -sp "Please enter you password: " pswd echo echo Is your password really $pswd?
6. 从文件中管接信息:
#!/bin/bash cnt=1 cat test.txt | while read line #是一行一行读取的,包括空行也会读取(空行就是只有字符\n的一行),会自动去掉\n do echo Line $cnt: $line cnt=$[ $cnt + 1 ] done
相关文章推荐
- bash之read命令
- 【转载】 Bash之read命令
- fw bash read 命令介绍
- Bash_case控制结构与read命令的使用
- bash之read命令
- 对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途: 编写一个脚本: #!/bin/bash # hao32 test read echo -e "Pl
- bash之read命令
- 【Bash百宝箱】shell内建命令之read、readarray、mapfile
- 【linux学习笔记】bash学习之read命令
- bash之read命令
- bash之read命令
- bash read命令用法
- bash之read命令
- 【BASH】判断命令是否成功执行
- BASH shell set命令详解
- RHCE课程-初级部分4、history命令、BASH、快捷键
- 【BASH】同时执行多个命令
- 【BASH】通过变量运行命令
- 如何使用read命令读取文件的每一行
- Bash 强大的History 命令