shell—知识小结

  • 一、如何执行shell脚本

  • chmod +x test.sh (添加执行权限)
    ./test.sh

  • sh test.sh

  • 二、shell变量

变量命名规范

变量名可以由字母、数字和下画线组成,但是不能以数字开头。如果变量名是"2name",则是错误的

  • 首个字符不能出现数字
  • 变量名中间不能有空格
如何使用变量
  • echo $name
只读变量
  • readonly name
删除变量
  • unset 变量名称 (只读变量除外)

三、shell字符串

单引号和双引号的区别
  • 单引号的字符都是原样输出
  • 单引号里的变量是无效的
  • 双引号可以识别变量
获取字符串的长度

指获取变量str内字符串长度

  • echo ${#str}
获取指定字符
  • echo ${str:5:8}
  • 第一个冒号后面的数值表示:取值的位置
  • 第二个冒号后面的数值表示:取值个数

四、shell数组

如何定义数组
  • student=(aa bb cc)
数组相关操作

1:获取数组所有元素:
echo ${student[@]}
echo ${student[*]}

2:获取指定元素(第一个):echo ${student[0]}

3:获取数组元素的个数:echo ${#student}

五、shell注释

  • 单行注释:#
  • 多行注释:
    :<<eof
    内容
    eof

六、shell传递参数

参数作用
$0显示文件名称
$1第一个传参
$#获取传参个数
$*获取所有的传参
$@获取所有的传参
$?显示上一条命令退出状态(0表示执行正常,非0 表示不正常)
$@ vs $*特殊环境下的不同之处
有双引号的情况下
$@原样输出
$*把所有的传参当成一个字符展示

shell运算

算术运算

方法一:

  • expr 1 + 2
  • expr 10 - 3
  • expr 10 \ *3 注:符号和数字之间不能有空格,这里的反斜杠和乘号有空格是因为反斜杠在博客发布里有特殊含义,所以我以空格隔开,方便大家直观浏览
  • expr 10 / 3
  • expr 10 % 3

方法二:

  • echo $[1+2]
  • echo $[10-3]
  • echo $[10*3]
  • echo $[10/3]
  • echo $[10%3]

方法三:

  • echo $((1+2))
  • echo $((10-3))
  • echo $((10*3))
  • echo $((10/3))
  • echo $((10%3))
关系运算
  • -eq:等于
  • -ne:不等于
  • -gt:大于
  • -ge:大于等于
  • -lt:小于
  • -le:小于等于
布尔运算
  • -a: 两个表达式都为true,才会返回true
  • -o:其中一个表达式为true,就返回true
逻辑运算
逻辑运算又称布尔运算
  • &&:逻辑的and
  • ||:逻辑的or
字符串运算
  • -n:字符长度不为空
  • -z:字符长度为空
  • =:两个字符串是否相等
  • !=:判断两个字符是否不一致
文件测试运算
  • -d:文件存在并且是一个目录
  • -e: 文件是否存在
  • -f:文件存在并且是一个普通文件
  • -r:文件是否有可读的权限
  • -w:文件存在并且有可写的权限
  • -x:文件存在并且有执行权限
shell流程控制
判断

第一种:
if 表达式;then
elif 表达式
fi

第二种
case $1 in
start)
echo “start”
;;
stop)
echo “stop”
;;
status)
echo “status”
;;
restart)
echo “restart”
;;
reload)
echo “reload”
;;
*)
echo $“Usage: $0 {start|stop|status|restart|reload}”
;;

esac

循环

第一种:
for 表达式
do

done

第二种:
while 表达式
do

done

第三种:当表达式为false时,才开始执行下面的命令(一般情况不用)
until 表达式
do
done

好了,今天的shell小结就到此结束,都是一些简单的基础操作,并没有过多的讲解,主要还是供大家参考练习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值