linux read01,Linux内置命令之read
一、read的作用
read能将用户通过键盘输入的字符串保存在后面所跟的变量里面
[root@TESTHOST scripts]# read Num
1
[root@TESTHOST scripts]# echo $Num
1
[root@TESTHOST scripts]# read Num
123
[root@TESTHOST scripts]# echo $Num
123
通过read可以输入任何信息给脚本,也可以从命令行读入多个值传递给变量
[root@TESTHOST scripts]# read Num Name Year
1 Arvin 2015
[root@TESTHOST scripts]# echo $Num $Name $Year
1 Arvin 2015
----------------------------------------------
[root@TESTHOST scripts]# read Num Name Year
1 Arvin 2015 2014
[root@TESTHOST scripts]# echo $Num
1
[root@TESTHOST scripts]# echo $Name
Arvin
[root@TESTHOST scripts]# echo $Year
2015 2014 #这里把最后两个字符传递给了变量Year
二、read常用参数
-p():曾加提示信息 # 另echo -n 显示信息后,不换行
-t:指定超时时间,在指定的时间内read命令未交互,则超时退出
三、示例及练习
示例1:
#!/bin/bash
#
read –p “Input a character:”Char
case $Char in[0-9])
echo “A digit.” ;;
[a-z])
echo “A lower.” ;;
[A-Z])
echo “A upper.” ;;
[[:punct:]])
echo “A punction.” ;;
*)
echo “A special char.” ;;
esac
示例2:
#!/bin/bash
#
read -p "Do you agree [yes|no]?: " YesNo
case $YesNo in
y|Y|[Yy]es)
echo "Agreed, proceed." ;;
n|N|[nN]o)
echo "Disagreed, can't proceed." ;;
*)
echo "Invalid input." ;;
esac
例子3:写一个脚本
1、显示如下菜单给用户:
m|M) show memory usages;
d|D) show disk usages;
q|Q) quit
2、如果用户选择了第一项,则显示内存使用信息;
如果选择了第二项,则显示磁盘挂载及使用相关信息;
如果是第三项,退出,并显示选择退出;
其它任何内容,均说明错误选项;
#!/bin/bash
#
cat <
m|M) show memory usages;
d|D) show disk usages;
q|Q) quit
EOF
read -t 20 -p "Press a choice:" Key
if [ -z $Key ]; then
echo "No choice,quit."
Key=q
exit 3
fi
case $Key in
m|M)
free -m
;;
d|D)
du -lh
;;
q|Q)
echo "Quit."
exit 5
;;
*)
echo "Invalid input."
exit 7
;;
esac
练习1:写一个脚本,能接受参数gzip、bzip2或xz,而后能将/etc/目录归档备份至/backup目录,并以参数指定的形式压缩存放;文件名称包含脚本执行时刻的时间
#!/bin/bash
# Date: 2015-04-13
# Description:
# Version: 1.0
if [ ! -e /backup ];then #这里可以用[ -d /backup ] || mkdir /backup 替代
mkdir /backup
fi
read -t 20 -p "Press a command{gzip|bzip2|xz}:" Command #read,20秒超时,给command赋值
Command=$1
if [ -z $1 ]; then #如果脚本给定的是空值,则默认输入gzip
Command=gzip
fi
case $Command in
gzip)
tar czfP /backup/backupfile-`date +%F-%H-%M-%S`.tar.gz /etc/
Ret=$?
;;
bzip2)
tar cjfP /backup/backupfile-`date +%F-%H-%M-%S`.tar.bz2 /etc/
Ret=$?
;;
xz)
tar cJfP /backup/backupfile-`date +%F-%H-%M-%S`.tar.xz /etc/
Ret=$?
;;
*)
echo "Usage:`basename $0`{gzip | bzip2 | xz }."
exit 5
;;
esac
[ $Ret -eq 0 ] && echo "Backup etc successfully.($Command)" #每一个分支都有将执行返回值赋值给Ret,当Ret为0时,即知道变量Command是gzip、bzip2、xz中哪一个
linux read01,Linux内置命令之read相关推荐
- Linux查看内置命令和非内置命令帮助的几种方法(man、help、info)
内置命令就是shell内核自带的,因为shell当中自己要进行管理,那么就需要一些命令进行管理,不同的shell肯定有不同的shell命令,我们用type命令就可以看到其的类型,内置shell命令其实 ...
- 14.Linux rpm,brew软件安装包命令,zsh和bash,内置命令和外部命令,ps命令,top命令解析,swp,为什么cpu利用率很低,负载却很高?
解释一下rpm, opt,opt-get, brew,brewhome rpm,apt,apt-get,brew,和homebrew都是与软件包管理有关的术语.它们分别用于不同的操作系统. rpm是一 ...
- linux sh 帮助,技术|获取有关 Linux shell 内置命令的帮助
Linux 内置命令属于用户 shell 的一部分,本文将告诉你如何识别它们并获取使用它们的帮助. Linux 内置命令是内置于 shell 中的命令,很像内置于墙中的书架.与标准 Linux 命令存 ...
- linux卸载摄像头,如何在 Linux 中禁用内置摄像头
如果你想知道如何禁用笔记本电脑或台式机中的网络摄像头,那么你很幸运.这个简短的教程将告诉你如何做.请继续阅读. 我在 Arch Linux 和 Ubuntu 上测试了这个指南.它的工作原理如下所述.我 ...
- fooview辅助功能 shell_列出所有Bash Shell内置命令的方法示例
前言 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. 内置命令包含在 bash shell 本身里面 ...
- 查看命令为内置命令还是外部命令
查看命令为内置命令还是外部命令---type 有木有 ? 有的用户在用一般用户身份执行ifconfig eth0 会出现"-bash: ifconfig :command n ...
- Shell脚本——内置命令
一.内置命令 所谓 Shell 内置命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件. 例如,用于进入或者切换目录的 cd 命令,虽然我们一直在使用它,但如果不加以注意很难意识 ...
- mysql 代替分号_除了使用分号(;)终止符之外,还有其他可执行MySQL查询的内置命令吗?...
借助以下内置命令,即使不使用分号(;)终止符,MySQL也可以执行查询. 自我 我们可以通过使用\ G选项来使用此命令.这意味着将当前语句发送到要执行的服务器,并以垂直格式显示结果.当我们使用\ G并 ...
- awk内置命令RS,ORS,FS,OFS的使用
Awk内置命令RS, ORS, FS, OFS FS 指定字段列分隔符 OFS 指定输出字段列分隔符 RS指定行分隔符 默认分隔符为\n ORS指定输出行分隔符 FS指定列分隔符,相当于参数-F.OF ...
- linux-help命令,查询shell内置命令帮助文档
命令:help 描述:help + 命令(shell内置命令).可以查看shell内置命令的帮助文档. 范例:help if
最新文章
- 计算机知识新闻稿,文科计算机大赛新闻稿
- 决策树之前要不要处理缺失值_不要使用这样的决策树
- c语言中不能编译,为什么`int;`可以在C语言中很好地编译,而在C ++中却不能?
- VCAP5-DCA – What’s new?
- MFC获取当前应用程序实例句柄的三种方法
- linux下order by 报出ORDER BY clause is not in SELECT list
- hex2bin 64bit
- bbsmax mysql_Mac命令行启动MySQL
- FFmpeg教程(超级详细版)
- 【opencv之Roberts算子】
- c语言 公交卡一卡通系统,公共交通一卡通系统
- ZYF货币系统F917
- ElasticSearch设置字段的keyword属性
- 百度开发者大会高层讲稿
- Unity Json存档读档操作
- 2015年imac一体机安装双系统问题及解决技巧
- 正点原子IMX6UL底板硬件设计指南
- 11种典型的时间序列回归预测方法大集合——附代码
- Nvidia Jetson Agx Xavier 在Ros中调用GMSL2相机
- 《测绘综合能力》——大地测量