有时我们需要shell脚本有更多的交互性,比如我们安装某个linux命令的时候,会提示[N / Y]选择安装或者放弃,这时就需要用到shell的read命令。
read命令的基本使用
演示代码如下:
其中-n表示字符串输出尾端不换行
还可以直接在read -p 后面直接跟要显示的字符串
注意,一定要带-p,这样才允许在后面直接跟要显示的字符串,否则会报错
演示代码如下:
当传入的参数有多个的时候
演示代码如下:
如果在read命令行中不指定变量,那么read命令会把任何数据都放到特殊环境变量$REPLY中
演示代码如下:
使用read命令,如果用户迟迟不输入变量,不可能一直等待,所以需要超时设置,-t选项指定了read命令等待输入的秒数。当计时器过期后,read命令会返回一个非零退出状态码。
演示代码如下:
在最上面提到,我们安装linux命令的时候,有时候需要[N/Y]确认是否安装,这是如何实现的呢?
可以通过case命令来实现
演示代码如下:
有时候屏幕上输入参数,但是不想显示出输入的参数,使用-s参数可以做到隐藏方式读取
演示代码如下:
read命令还可以读取文件中的字符串
演示代码如下:
首先通过cat读取file2文件,然后将读取到的内容通管道传给含有read命令的while命令,while循环会持续通过read命令读取文件中的行,直到read命令以非零状态退出。