变量
一、变量定义规则
变量名 = 值(等号两边不能有空格,这是最容易踩的坑!)
只能用 字母、数字、下划线,不能以数字开头
区分大小写(name 和 Name 是两个变量)
赋值字符串如果有空格,必须加引号
示例:name=”张三”
二、变量使用(调用)
使用变量必须加 $ 符号,推荐用 ${变量名} 格式
示例:echo ${name}
二、字符串变量
单引号:字符串输出,不解析变量
双引号:解析变量,拼接字符串
运算符
一、算术运算符(加减乘除取余)
Shell 不能直接用 + – * /,必须用 $(( )) 或 expr。
示例:
a=10
b=20
echo $((a + b)) # 加
echo $((a – b)) # 减
echo $((a * b)) # 乘
echo $((b / a)) # 除
echo $((a % b)) # 取余
echo $((a ** 2)) # 平方
二、关系运算符(数字比较)
只能用于数字,不能用于字符串!
必须配合 if 使用,格式:if [ $a -eq $b ]; then
常用运算符:
-eq等于 (==)-ne不等于 (!=)-gt大于 (>)-lt小于 (<)-ge大于等于 (>=)-le小于等于 (<=)
三、字符串运算符
专门用来判断 字符串。
=判断相等!=判断不等-z字符串长度为 0 返回真-n字符串长度不为 0 返回真
示例:
str1=”abc”
str2=”abcd”
if [ $str1 = $str2 ]; then
echo “相等”
else
echo “不相等”
fi
判断字符串是否为空
if [ -z “$str1” ]; then
echo “空字符串”
fi
四、逻辑运算符(与、或、非)
写法 1:[] 里用
-a与 (and)-o或 (or)!非
if [ $a -gt 10 -a $b -lt 30 ]; then
写法 2:[[]] 里用(推荐)
&&与||或!非
if [[ $a > 10 && $b < 30 ]]; then
五、文件测试运算符(判断文件 / 目录)
最常用!写脚本必用:
-e文件 / 目录是否存在-f是否是普通文件-d是否是目录-r是否可读-w是否可写-x是否可执行-s文件是否不为空
示例:
file=”test.sh”
if [ -f $file ]; then
echo “是文件”
fi
if [ -d $file ]; then
echo “是目录”
fi
case结构
case 就是 多分支选择语句,相当于 if...elif...else 的简化版,专门用来匹配多个固定值,代码更整洁、可读性更强。
case 变量 in
模式1)
命令1
;; # 每个分支结束必须写两个分号
模式2)
命令2
;;
*) # 通配符,相当于 else,匹配所有未命中的情况
默认命令
;;
esac # 结束标记,是 case 倒过来写
!/bin/bash
echo “===== 菜单 =====”
echo “1. 查看当前目录”
echo “2. 查看时间”
echo “3. 查看用户”
echo “================”
read -p “请输入选项:” choice
case $choice in
1)
pwd
;;
2)
date
;;
3)
whoami
;;
*)
echo “输入错误!”
;;
esac
评论(0)
暂无评论