Shell是一种命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令。
分类
图形界面Shell
例如Windows、GNOME、KDE等
命令行式Shell
sh/bash/ksh/zsh/Windows PowerShell等
应用
Shell最广泛的应用场景还是Linux命令和脚本中。
声明
指定脚本文件的解释程序,在脚本文件首行添加
#!/bin/bash
或者
#!/bin/sh
注释
# 注释以井号开头
符号
空格
if语句中必须有,赋值时必须没有
分号
同一行多条语句需要,不同行不需要
引号
单引号包裹纯字符串,双引号包裹包含变量或转义字符的字符串
运算符
算术运算符
关系运算符
| -eq | 等于 | if [ $data1 -eq $data2 ] |
|---|---|---|
| -gt | 大于 | |
| -lt | 小于 | |
| -ge | 大于等于 | |
| -le | 小于等于 |
变量
# 赋值
hello='' # =前后不能有空格
# 获取
$hello # 或${hello}
注意:脚本中需要对变量判空并结束执行,否则为空后面使用的时候会报错[: =: unary operator expected
条件判断
if [ !-d xx ]; then # 符号 [ 和 ] 两边都需要有空格,此处含义如果目录xx不存在
# ...
elif [ -f yy ]; then # 如果文件yy存在
if[ zz ]; then
fi
else # else后不需要; then
#...
fi
退出
exit; # 退出脚本执行
return;
break;
参数
脚本中获取命令行参数
$1 # 第一个参数