写点什么

Shell 速查手册

作者:陈新卫
  • 2022 年 3 月 13 日
  • 本文字数:668 字

    阅读完需:约 2 分钟

Shell速查手册

Bash 脚本基础


记录编写脚本时的一些信息


1. Bash 脚本定义变量


三种变量类型


  1. 局部变量:局部变量在脚本或命令中定义,仅在当前 shell 实例中有效,其他 shell 启动的程序不能访问局部变量;

  2. 环境变量: 所有的程序,包括 shell 启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候 shell 脚本也可以定义环境变量;

  3. shell 变量:shell 变量是由 shell 程序设置的特殊变量。shell 变量中有一部分是环境变量,有一部分是局部变量。


定义和使用变量


  1. 定义变量: name=value,需要注意,等号两侧不能有空格

  2. 使用变量:echo $name 或者 echo ${name}

  3. 定义局部变量: local name="test"

  4. 定义只读变量: readonly name

  5. 删除变量:unset name


Bash 字符串


单引号:任何字符都会原样输出,里面的字符串变量是无效的,单引号字符串中不能出现单独一个的单引号,但可以成对出现,作为字符串拼接使用;

双引号:可以有变量并且可以出现转义字符


2. Bash 脚本传递参数


  1. Bash 中的参数按照数字顺序定义

  2. Bash 脚本内获取参数的格式为: $n


几个特殊参数


  1. $0 : 文件名

  2. $# : 传递到脚本参数的个数

  3. $* : 以单个字符串显示所有向脚本传递的参数


数组


  1. 定义: myArr = (value0,value1,value2)

  2. 使用数组: ${数组名[下标]}

  3. 获取数组所有元素: ${my_array[*]} 或者 ${my_array[@]}可以获得数组的所有元素

  4. 获取数组长度: ${#array_name[@]} 或者 ${#array_name[*]}


运算符


运算符 说明

+ 加法

- 减法

* 乘法

/ 除法

% 取余

= 赋值

== 相等。用于比较两个数字,相同则返回 true。

!= 不相等。用于比较两个数字,不相同则返回 true。


Bash 脚本进阶


Bash 编写常用命令


Bash 公共库


用户头像

陈新卫

关注

还未添加个人签名 2020.09.28 加入

还未添加个人简介

评论

发布
暂无评论
Shell速查手册_陈新卫_InfoQ写作平台