shell入门

1.变量赋值:
read -p “请你输入账号:” Id
echo “你输入的变量值为:$ID”

2.变量替换
${#变量} 获取变量的长度
${变量#匹配规则} 从头开始匹配,最短删除
${变量##匹配规则} 从头开始匹配,最长删除
${变量%匹配规则} 从尾开始匹配,最短删除
${变量%%匹配规则} 从尾开始匹配,最长删除
${变量/旧的字符串/新的字符串} 替换变量中的旧的字符串为新的字符串,只替换第一个
${变量//旧的字符串/新的字符串} 替换变量中的旧的字符串为新的字符串,替换所有
${变量:匹配规则:匹配规则} 索引及切片

3.变量运算
num1 + num2 加
num1 – num2 减
num1 * num2 乘
num1 / num2 除
num1 % num2 求余
awk ‘BEGIN{print 10 + 5}’

4.流程控制
单分支结构
if [ $? -eq 0 ];then
echo “xxx”
fi
双分支结构
if [ $? -eq 0 ];then
echo “xxx”
else
echo “xxx”
fi
多分支结构
if [ $i -lt 80 ];then
echo “xxx”
elif [ $i -lt 70 ];then
echo “xxx”
elif [ $i -lt 60 ];then
echo “xxx”
elif [ $i -lt 50 ];then
echo “xxx”
else
echo “xxx”
fi

5.流程控制语句之文件比较
-e 如果文件或者目录存在则为真 [ -e file/dir ] !取反
-f 如果文件存在则为真
-s 如果文件存在且至少有一个字符则为真 判断一个文件是否是空文件
-d 如果目录存在则为真
-r 读的权限
-w 写的权限
-x 执行的权限
[ -e /etc/hosts ] && echo “为真” || echo “为假”
[ -e /etc ] && echo “为真” || echo “为假”

6.流程控制语句之整数比较
-eq 等于条件则为真 [ 1 -eq 1 ]
-ne 不等于 [ 1 -ne 2 ]
-gt 大于 [ 2 -gt 1 ]
-ge 大于等于 [ 2 -ge 2 ]
-lt 小于 [ 1 -lt 2 ]
-le 小于等于 [ 1 -le 1 ]

7.流程控制语句之字符比较
== 等于则条件为真 [ “a” == “a” ]
!= 不等于则条件为真 [ “a” != “b” ]
-z 字符串的长度为零则为真
-n 字符串的长度不为零则为真

8.流程控制语句之多条件比较
-a 并且 当多个条件存在时,必须是条件成立才为真,如果有一个条件不为真时,则条件为假
-o 或者 当多个条件存在时,必须是所有条件不为真时则为假,如果有一个条件为真时,则整体条件为真
[ 1 -lt 2 -a 2 -gt 3 ] && echo “为真” || echo “为假” 为假
[ 1 -lt 2 -o 2 -gt 3 ] && echo “为真” || echo “为假” 为真
使用下面两个符号作为条件比对,必须使用双中括号
&& 并且
|| 或者
[[ 3 -lt 2 || 2 -gt 3 ]] && echo “为真” || echo “为假” 为假
[[ 1 -lt 2 && 2 -gt 3 ]] && echo “为真” || echo “为假” 为假

9.流程控制语句之case语句
case 变量 in
变量值1)
命令序列
;;
变量值2)
命令序列
;;
变量值3)
命令序列
;;
变量值N)
命令序列
;;
*)
命令序列
exit
esac

10.循环语句之for循环
for 变量 in 取值列表
do
循环体
done
当条件为真,则执行循环体,如果条件为假,则结束循环。

11.循环语句之while循环
#第一种
while 条件测试
do
循环体
done

#第二种
while true
do
循环体
done

#第三种
while read line
do
循环体
done < path.txt

Num=1
while [ $Num -lt 10 ]
do
echo $Num
let Num++
done

.调用函数库
[ -f /etc/init.d/functions ] && source /etc/init.d/functions
action “xxxxxxxxxxxxxxxxxxxxxxxxxx” /bin/true
action “xxxxxxxxxxxxxxxxxxxxxxxxxx” /bin/false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值