linux shell read if,shell study-5day--shell--read命令及if条件语句

1、read命令键盘读取变量的值

从键盘读取变量的值,通常用在 shell 脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。[root@test ~]# read test

1

[root@test ~]# echo $test

1

(1)read常用语法及参数

A、从标准输入读取一行并赋值给变量

[root@test ~]# read test

1

B、从标准输入读取多个值,遇到第一个空白符或换行符。把用户键入的第一个词存到变量a,把该行的剩余部分保存到变量b。

[root@test ~]# read a b

1 2 3

[root@test ~]# echo $b

2 3

[root@test ~]#

C、read -s隐藏输入信息

[root@test ~]# read -s a

[root@test ~]# echo $a

1111

[root@test ~]#

D、输入时间限制

超过2秒没有输入就退出。

[root@test ~]# read -t 2 a

[root@test ~]# echo $a

[root@test ~]# read -t 2 a

1

[root@test ~]# echo $a

1

[root@test ~]#

E、输入长度限制

最多只允许输入2个字符

[root@test ~]# read -n 2 a

11[root@test ~]#

F、使用-r参数输,允许让输入中的内容包括:\识别为普通字符

[root@test ~]# read -r a

lll\ hshhs

[root@test ~]# echo $a

lll\ hshhs

[root@test ~]#

G、-p 用于给出提示符

[root@test ~]#  read -p "please input: " password

please input: 123456

[root@test ~]# echo $password

123456

[root@test ~]#

2、if语句流程

(1)单if语法格式

if 条件

then

commands

fi

Eg:查看ls命令是否执行成功

[root@test ~]# more if.sh

#!/bin/bash

if ls /home

then

echo "it is ok"

fi

[root@test ~]# sh if.sh

demo.py  pycharm-community-2020.2.3.tar.gz

it is ok

[root@test ~]#

(2)if...else

语法格式:

if 条件;then

commands

else

commands

fi

Eg:查看指定目录是否存在

[root@test ~]# vi test.sh

#!/bin/bash

read -p "输入目录名称" a

if ls $a >>/dev/null

then

echo "$a 存在"

else

echo "$a 不存在"

fi

[root@test ~]# sh test.sh

输入目录名称home

ls: 无法访问home: 没有那个文件或目录

home 不存在

[root@test ~]# sh test.sh

输入目录名称/home

/home 存在

[root@test ~]#

注:bash -v [脚本] 可检查脚本语法错误;

bash -x [脚本]可显示脚本执行过程。

(3)多条件if语句

语法结构:

if 条件1 ; then

commands

elif 条件2 ; then

commands

elif 条件3 ; then

commands

.......

else

commands

fi

Eg:查看指定用户是否存在[root@test ~]# vi test1.sh

#!/bin/bash

read -p "请输入用户名:" user

if grep $user /etc/passwd

then

echo "当前系统中存在此用户"

elif ls -d /home/$user

then

echo "$user 用户不存在"

echo "$user 有主目录"

else

echo "系统用户不存在"

echo "系统不存在用户目录"

fi

[root@test ~]# sh test1.sh

请输入用户名:test

ls: 无法访问/home/test: 没有那个文件或目录

系统用户不存在

系统不存在用户目录

[root@test ~]#

个人公众号:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值