练习十六:read命令

一、练习

    写一个脚本,脚本功能为提示用户键入一个磁盘设备路径,根据用户输入的磁盘设备路径来查看这个磁盘设备已有的分区信息,脚本其它内容自定义? 

[root@wybaron_host1015 ~]# vim script/read_TEST.sh 

#!/bin/bash
#
#

read -t 5 -p '请输入一个磁盘设备路径:' dev_disk
if [ -n $dev_disk ] ;then
        if [  -b $dev_disk ];then
                fdisk -l $dev_disk
        else
                echo "请输入一个块设备文件的路径!"
                exit 3
        fi
else
        echo "用法格式:# bash $0 DEV_PATH"
        exit 2
fi
~ 
[root@wybaron_host1015 ~]# bash -n script/read_TEST.sh 
[root@wybaron_host1015 ~]# bash script/read_TEST.sh 
请输入一个磁盘设备路径:用法格式:# bash script/read_TEST.sh DEV_PATH
[root@wybaron_host1015 ~]# bash script/read_TEST.sh 
请输入一个磁盘设备路径:/etc
请输入一个块设备文件的路径!

[root@wybaron_host1015 ~]# bash script/read_TEST.sh 
请输入一个磁盘设备路径:/dev/sdb

磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc329d258

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41945087    20971520   83  Linux
/dev/sdb2        41945088    52430847     5242880   83  Linux

二、补充

    常用字符串比较形式

if [ $string1 == $string2 ] 如果字符串相等则为真。= 可以用于使用 == 的场合来兼容 POSIX 规范
if [ $string1 !=  $string2] 如果string1不等于string2,则为真    
if [ -n $string  ] 如果 string 的长度非 0 则为真  
if [ -z $string  ] 如果 string 的长度为 0 则为真
if [ $sting ] 如果string 非空,返回0 (和 -n 类似)
if [ string1 < string2 ] 如果 string1 在当前语言环境的字典顺序中排在 string2 之前则为真
if [ string1 > string2 ] 如果 string1 在当前语言环境的字典顺序中排在 string2 之后则为真

    bash脚本执行前

# 检测脚本中的语法错误
~]# bash -n /PATH/TO/SCRIPT_NAME

# 调试执行脚本(多用于错误和流程检测)
~]# bash -x /PATH/TO/SCRIPT_NAME

# 执行脚本
~]# bash /PATH/TO/SCRIPT_NAME

  

 

转载于:https://my.oschina.net/comics/blog/2223122

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值