Shell 脚本学习笔记

变量:

定义变量:变量名 val_name=值 “=”号左右不能有空格,变量名只能字母数字下划线组成,不能数字开头,不能与关键字重名

变量调用:$val_name 或者${val_name} 建议使用后者

注:变量重新赋值,使用val_name=值即可,不能用$符

只读变量:readonly修饰 可以定义时修饰,也可以定义后修饰

删除变量:unset (无法删除只读变量)

字符串:
用单引号,双引号或者可以不用引号

单引号里面不可以用变量,单引号里不能用单引号,但是可以用作拼接

双引号里面可以用变量,可以用转义符\

字符串长度 ${#string}或${#string[0]}

截取字符串${#string:起始index:截取长度}

查子字符串${expr index "$string" in_str }

数组:

array_name=(val1 val2 val3)

array_name[index]获取值或者赋值

获取长度${#array_name[*]}${#array_name[@]}

获取元素长度${#array_name[index]}

注释::<<EOF
        注释内容

EOF

shell 脚本传参:

常用的

$1,$2,$3获取第n个参数

$0 获取脚本名

$*,$@获取所有参数

$?获取上一条语句的执行结果,只能用一次,如果没保存结果,则无法再次获取

$#获取参数个数

运算符:

常用:+ - * / %注意乘号需要加一个转义符,运算符两遍必须都加一个空格

==  != ! 逻辑运算符 表达式用[]括起来

-eq 等于

-ne 不等于

-gt 大于

-lt 大于

-le 小于等于

-ge 大于等于

-a 与

-o 或

!非

&&双与

||双或

echo 字符串的输出,输出到控制台,文件等

> >> < <<重定向

>覆盖目标

>>追加写入

<<重定向输入

printf 输出,不包含换行,需要手动添加

格式化操作比较方便

%s %d %f 格式化方式,和python类似

流程控制语句:

if else语句:

if [条件]

then

        语句

elif[条件]

        语句

else

        语句

fi

while循环

while((条件))

do

        循环体

done

for val in val1 val2 val3...

do

        语句体

done

死循环:

for (( ; ; ))

或者while true

do

        循环体

done

until 虚幻

until condition

do

        语句体

done

case esac 循环:类似java的switch case

函数:

fuction func_name(){

        函数体

}

调用函数:

func_name

函数获取参数方式,与脚本获取参数类似 $index ,index大于等于10的时候,需要{}括起来

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦㐅触及轮回

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

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

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

打赏作者

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

抵扣说明:

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

余额充值