shell语法
- 概论
- 注释
- 变量
- 默认变量
- 数组
- expr命令
- read命令
- echo命令
- printf命令
- test命令与判断符号[]
- 判断语句
- 循环语句
- 函数
- exit命令
- 文件重定向
- 引入外部脚本
1.shell语法——概论
概论
shell是我们通过命令行与操作系统沟通的语言。
shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。
AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。
注:AC Terminal相当于linux,命令行终端。
Linux中常见的shell脚本有很多种,常见的有:- Bourne Shell(/usr/bin/sh或/bin/sh)
- Bourne Again Shell(/bin/bash)
- C Shell(/usr/bin/csh)
- K Shell(/usr/bin/ksh)
- zsh
- …
复制代码 Linux系统中一般默认使用bash,所以接下来讲解bash中的语法。
文件开头需要写#! /bin/bash,指明bash为脚本解释器。
学习技巧
不要死记硬背,遇到含糊不清的地方,可以在AC Terminal里实际运行一遍。
脚本示例
新建一个test.sh文件,内容如下:- #! /bin/bash
- echo "Hello World!"
复制代码 ###运行方式作为可执行文件- acs@9e0ebfcd82d7:~$ chmod +x test.sh # 使脚本具有可执行权限
- acs@9e0ebfcd82d7:~$ ./test.sh # 当前路径下执行
- Hello World! # 脚本输出
- acs@9e0ebfcd82d7:~$ /home/acs/test.sh # 绝对路径下执行
- Hello World! # 脚本输出
- acs@9e0ebfcd82d7:~$ ~/test.sh # 家目录路径下执行
- Hello World! # 脚本输出
复制代码 用解释器执行- acs@9e0ebfcd82d7:~$ bash test.sh
- Hello World! # 脚本输出
复制代码 2.shell语法——注释
单行注释
每行中#之后的内容均是注释。- # 这是一行注释
- echo 'Hello World' # 这也是注释
复制代码 多行注释
格式:
[code]:需要转义echo `expr $a '=' $b` # 输出0echo `expr $a \ |