Linux shell脚本 (六)与用户交互

与用户交互

8.1 echo

​ echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

echo [-options] [string]
-n #不要在最后自动换行
-e #处理转义字符

例如:

where@ubuntu:~$ echo -n "helloworld"
helloworldwhere@ubuntu:~$ 

再举个例子:

where@ubuntu:~$ echo -e "\f\x30"  

0
where@ubuntu:~$ 

下面的转义字符都可以用在 echo 中:

转义字符含义
\反斜杠
\b退格(删除键)
\f换页(FF),将当前位置移到下页开头
\n换行
\r回车
\t水平制表符(tab键)
\v垂直制表符

8.2 read

read命令是用于从终端或者文件中读取输入的内部命令,read命令读取整行输入,每行末尾的换行符不被读入。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY。

  1. 从标准输入读取输入并赋值给变量。

read [var]

例如:

where@ubuntu:~$ read var
wenong
where@ubuntu:~$ echo $var
wenong

  1. 从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量中,第二个单词放第二个变量中,以此类推,剩下的字符留给最后一个变量。

read [var1] [var2] ...

例如:

where@ubuntu:~$ read var1 var2 var3
1 2 3 4 5 6
where@ubuntu:~$ echo $var1
1
where@ubuntu:~$ echo $var2
2
where@ubuntu:~$ echo $var3
3 4 5 6
  1. 从标准输入读取一行并赋值给特定变量REPLY。

例如:

readwhere@ubuntu:~$ read 
hello
where@ubuntu:~$ echo $REPLY
hello
where@ubuntu:~$ 

  1. 把单词清单读入数组里

read -a [arrayname]

例如:

where@ubuntu:~$ read -a array
1 2 3 4 5
where@ubuntu:~$ echo ${array[2]}
3

  1. 打印提示,等待输入

read -p [info] [var]

例如:

where@ubuntu:~$ read -p "what is your name?" name
what is your name?wenong
where@ubuntu:~$ echo $name
wenong
  1. 读超时

read -t [timeout] [var]

例如:

where@ubuntu:~$ read -t 3 var
where@ubuntu:~$                 #3秒后退出read命令

  1. 读取指定个数字符

read -n [size] [var]

例如:

where@ubuntu:~$ read -n 2 var
dkwhere@ubuntu:~$ echo $var      #输入2个字符后,read命令自动退出。
dk
where@ubuntu:~$        

  1. 自定义结束输入行

read -d [char] [var]

例如:

where@ubuntu:~$ read -d ':' var
huang:where@ubuntu:~$ echo $var  #输入:后read自动退出。
huang
where@ubuntu:~$ 
  1. 隐藏输入字符

read -s [var]

例如:

where@ubuntu:~$ read -s var
where@ubuntu:~$ echo $var
wenong
where@ubuntu:~$ 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值