1 . 通用
Bourne Again Shell
称为bash
#!
申明解释器,#!/bin/bash
POSIX
可移植操作系统接口Portable Operating System Interface of Unix
chmod +x file
添加文件可执行权限
- 使用变量
$
- 双引号字符串
"value is ${num}"
#
计算字符串长度
$string:n:m
提取子串
- 数组用空格分开
Array=(1 2 3 4)
$Array[@]
表示所有数组元素
- 获取数组长度
${#Array[@]}
#
表注释
- 脚本传参
$n
expr
表达式计算
expr a + b
运算符与数字之间要有空格
- 乘法
\*
\n
换行
\c
不换行
echo "sss" > file
输出到文件
printf
test [$a == $b]
2. 运算符
- 关系运算符(只用于数字)
-eq
equal
-ne
not equal
-lt
less than
-gt
great than
-le
less or equal
-ge
great or equal
- 布尔运算符
- 逻辑运算符
- 字符串运算符
- 文件测试运算符
3. 流程控制语句
if ... then ... else ... fi
if [ $a == $b ]
then
echo 'true'
fi
for ... in ... do... done
for a in ${array[@]}
do
echo $a
done
while ... do ... done
until ... do ... done
case...in...)...;;...esac
function(){...}
- 函数返回值,调用函数后用
$?
获取
4. 输入输出重定向
command > file
终端不再有输出,重定向的含义就是本来输出到终端的被重新定向输出到文件
command >> file
追加到文件末尾
command < file
- 每个
linux
命令运行时都会打开三个文件:stdin
stdout
stderr
>/dev/null
禁止输出
5. 文件包含