码迷,mamicode.com
首页 > 其他好文 > 详细

read 命令,bash编程之用户交互

时间:2016-07-11 19:27:32      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:read   bash交互   


 read [option]... [name ...]

-p ‘PROMPT‘ 提示

-t TIMEOUT 暂停

    将一个行从标准输入读入以后,使用空格符分割成字段,将切割的结果对位(变量不止1个保存在对应的变量中。

 

     例如:

[root@localhost ~]# read name  让你输入数据

obama  

[root@localhost ~]# echo $name  name的值就是obama

obama  

[root@localhost ~]#

      

变量不止1个:

[root@localhost ~]# read a b c

how are you?

[root@localhost ~]# echo $a

how

[root@localhost ~]# echo $b

are

[root@localhost ~]# echo $c

you?

[root@localhost ~]#

 

[root@localhost ~]# read a b c

how are

[root@localhost ~]# echo $a

how

[root@localhost ~]# echo $b

are

[root@localhost ~]# echo $c  给的字符串不够,最后一个没有被赋值

 

[root@localhost ~]#

 

使用echo命令  进行提示  

[root@localhost ~]# echo -n "Enter a username:";read name   ;号在linux中表示隔开2个命令,顺序执行; echo -n 不换行

Enter a username:amy

[root@localhost ~]# echo $name

amy

[root@localhost ~]#

 

read -p 命令  进行提示

[root@localhost ~]# read -p "Enter a username:" name

Enter a username:amy

[root@localhost ~]# echo $name

amy

[root@localhost ~]#

 

read -t 命令  定时间,超时即结束命令

[root@localhost ~]# read -p "Enter a username:" -t 5 name

Enter a username:[root@localhost ~]# echo $name   等待5秒以后,用户还没输入,命令即结束。name里没值。

 

[root@localhost ~]#

 

如果用户超时后还没输入,可以设置个默认值

[root@localhost ~]# [ -z "$name" ]&&name="elizabeth"   -z 是否为空 ;注意[] 号里面2边要有空格

[root@localhost ~]# echo $name

elizabeth

[root@localhost ~]#

 

bash -n /path/to/some_script

检测脚本中的语法错误  仅检查语法、格式错误,逻辑错误不行; 如果变量值为空,检查不出,可以使用bash-x

 

bash -x /path/to/some_script  调试执行,显示每一个代码的详细过程,可以找到哪一步错误。   + :表示执行了  不带+ :表示输出

调试执行

 

 

示例: # 都是注释 

vim read.sh

 

#!/bin/bash

# Version: 0.0.1

# Author: MageEdu

# Description: read testing

 

read -p "Enter a disk special file: " diskfile

[ -z "$diskfile" ] && echo "Fool" && exit 1

 

if fdisk -l | grep "^Disk $diskfile" &> /dev/null; then

    fdisk -l $diskfile

else

    echo "Wrong disk special file."

    exit 2

fi

 


本文出自 “11647200” 博客,请务必保留此出处http://11657200.blog.51cto.com/11647200/1825399

read 命令,bash编程之用户交互

标签:read   bash交互   

原文地址:http://11657200.blog.51cto.com/11647200/1825399

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!