本博客只是记录了一些Shell学习的一些笔记, 看个乐就行🤗

Shell属于一个脚本语言, 在学习了Javascript、python这些脚本语言之后,发现这些玩意儿都是有一些相同点的, 比如说与C语言,Java这些强类型语言不同, 脚本语言在变量定义方面不会要求声明变量的类型。

基础语法

  • 变量定义: 作为脚本语言, shell的变量定义不需要声明类型, 这是变量定义的标准格式varName=varvalue
  • 变量使用: 使用变量时要在变量名前加$, 并且最好把变量名放在{}中, {varName}
  • 只读变量: 使用关键词readonly可以将变量变成只读变量, 其值不能被修改
  • 删除变量: 使用关键词unset可以删除变量
  • 字符串:
    • 单引号: 单引号内的字符会原样输出, 符号串中的变量名会无法被识别
    • 双引号: 双引号内可以出现变量(使用时需要$), 且双引号中可以出现转义字符
    • 截取子串: ${string:1:4}表示从string的第2个字符开始截取4个字符
  • 数组:
    • 定义: array_name=(value0 value1 value2 value3 ... )
    • 赋值: array_name[i]=valuei
    • 获取数组所有元素: ${array_name[@]}
  • 算数运算: expr 算术运算式 对于乘法符号要使用转义符
  • 关系运算: [ 关系运算式 ] 变量与运算符之间要有空格