【Linux扩展】六、shell ——运算符、条件判断(())[ ]的作用、流程控制(if,case,for,while)、read 读取控制台输入

第 4 章 运算符

1)基本语法
“$((运算式))” 或 “$[运算式]”
2)案例实操:
计算(2+3)* 4 的值
在这里插入图片描述

第 5 章 条件判断

1)基本语法
(1)test condition
(2)[ condition ](注意 condition 前后要有空格)
使用双小括号可以使用<>=等特殊符号
注意:条件非空即为 true,[ atguigu ]返回 true,[ ] 返回 false。
2)常用判断条件
(1)两个整数之间比较

-eq 等于(equal) -ne 不等于(not equal)
-lt 小于(less than) -le 小于等于(less equal)
-gt 大于(greater than) -ge 大于等于(greater equal)
注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。

在这里插入图片描述

(2)按照文件权限进行判断

-r 有读的权限(read)
-w 有写的权限(write)
-x 有执行的权限(execute)

(3)按照文件类型进行判断

-e 文件存在(existence)
-f 文件存在并且是一个常规的文件(file)
-d 文件存在并且是一个目录(directory)

第 6 章 流程控制(重点)

6.1 if 判断

1)基本语法
(1)单分支

if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
fi

(2)多分支

if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
else
程序
fi

注意事项:
①[ 条件判断式 ],中括号和条件判断式之间必须有空格
②if 后要有空格
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 case 语句

1)基本语法

case \$变量名 in
"值 1")
如果变量的值等于值 1,则执行程序 1
;;
"值 2")
如果变量的值等于值 2,则执行程序 2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac

在这里插入图片描述
在这里插入图片描述

注意事项:
(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。
(2)双分号“;;”表示命令序列结束,相当于 java 中的 break。
(3)最后的“*)”表示默认模式,相当于 java 中的 default。
2)案例实操
输入一个数字,如果是 1,则输出 banzhang,如果是 2,则输出 cls,如果是其它,输出renyao。

6.3 for 循环

1)基本语法 1

for (( 初始值;循环控制条件;变量变化 ))
do
程序
done

***for (( 初始值;循环控制条件;变量变化 ))内的内容可以用变量和序列{}来表示。***
2)案例实操
从 1 加到 100
在这里插入图片描述

3)基本语法 2

for 变量 in 值 1 值 2 值 3…
do
程序
done

4)案例实操
(1)比较 ∗ 和 *和 @区别
∗ 和 *和 @都表示传递给函数或脚本的所有参数,不被双引号“”包含时,都以$1 2 … 2 … 2n
的形式输出所有参数。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
当它们被双引号“”包含时,$*会将所有的参数作为一个整体,以“$1 $2 …$n”的形式输出所有参数;$@会将各个参数分开,以“$1” “ 2 ” … “ 2”…“ 2”n”的形式输出所有参数。

6.4 while 循环

1)基本语法

while [ 条件判断式 ]
do
程序
done

在这里插入图片描述

第 7 章 read 读取控制台输入

1)基本语法
read (选项) (参数)
①选项:

  • -p:指定读取值时的提示符;
  • -t:指定读取值时等待的时间(秒)如果-t 不加表示一直等待

②参数

  • 变量:指定读取值的变量名

2)案例实操
提示 7 秒内,读取控制台输入的名称

[atguigu@hadoop101 shells]$ touch read.sh
[atguigu@hadoop101 shells]$ vim read.sh
#!/bin/bash
read -t 7 -p "Enter your name in 7 seconds :" NN
echo $NN
[atguigu@hadoop101 shells]$ ./read.sh
Enter your name in 7 seconds : atguigu
atguigu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

webfker from 0 to 1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值