shell脚本学习(一)

文章目录

    • shell脚本学习(一)
      • 1. what
      • 2. format
      • 3. 可执行权限
      • 4.变量定义 + 初始化 + 赋值 + 引用
      • 5. 无引号 + 单引号 +双引号 区别
      • 6.选择分支结构

shell脚本学习(一)

1. what

  • shell脚本就是一个包含一系列命令的文件。
  • shell 读取这个文件,然后执行文件中的所有命令,就如同这些命令直接被输入到了命令行一样。

2. format

  • 注释 --> #
  • shebang -->#!–>告诉操作系统将执行此脚本所有的解释器的名字

3. 可执行权限

  • 脚本常用的权限为 777 -->保证每个人都可以执行此脚本
  • 700 -->只有root可以执行此脚本

4.变量定义 + 初始化 + 赋值 + 引用

类型 描述
变量定义 不同于C语言,不需要指定变量类型,也没有类型这个概念
变量初始化 变量定义可以使用(=)进行初始化赋值。–>等号两边不能有空格
变量赋值 变量可以定义之后,再进行初始化赋值。–> shell中并不刻意区分变量的定义和赋值,每个变量就是一个符号,此符号的值就是最后一个赋给它的值。
变量引用 $符号后面跟一个字符串,这个字符串会被当做变量去解析。
如果此字符串没有被定义,执行时不会报错,会默认把此字符串解析为空。shell中没有被定义的变量其实就是一个定义并且被赋值为空的变量。
注意:变量引用的时候可以$var,也可以${var}。这两种的区别是在某些情况下只能用${var}
  • 举例

    string=echo #赋值string变量值为echo
    echo $stringwzl #输出为空,由于$stringwzl没有定义,被解释为空
    
    echo ${string}wzl #输出echowzl,将{}内部当成$的内容进行解析
    

5. 无引号 + 单引号 +双引号 区别

类型 描述
无引号 不能输出“ + 其他转义字符-- >转义字符需要在" " + ‘ ’之间出现 --> ‘\0’
单引号 单引号之间完全输出 -->单引号中,完全字面替换,忽略所有的特殊字符
双引号 可以输出部分特殊符号 --> “$” + “\`” + “\”"+ “\\” -->其他字符前面加\无特殊意义
  • 反引号 linux 命令,可以得到此命令的返回值

    echo "today is `date`"
    

6.选择分支结构

符号 含义
-eq equal 等于
-ne no equal 不等于
-gt great than 大于
-lt low than 小于
-ge great and equal 大于等于
-le low and equal 小于等于

你可能感兴趣的:(Linux,shell,linux)