【重定向输出】
1、>
eg:ls -l > lsoutput.txt 把ls命令的输出保存到lsoutput.txt文件中
2、>>
eg:ls -l >> lsoutput.txt 将ls命令的输出附加到指定文件的尾部
3、1>、2> 、2>&1
【管道】
eg:ps | sort > output.txt
ps | sort | more
【变量】
$ 获取变量的内容
echo 将内容输出到终端
read 将用户的输入复制给一个变量
eg:read a
123
echo $a
123
$0 shell脚本的名字
$# 传递给脚本的个数
$$ shell脚本的进程ID
【条件】
1、字符串比较
string1 = string2
string1 != string2
-n string 如果字符串不为空则结果为真
-z string 如果字符串为null则结果为真
2、算术比较
expression1 -eq expression2 表达式相等
expression1 -ne expression2 表达式不相等
expression1 -gt expression2 表达式1大于表达式2
expression1 -ge expression2 表达式1大于等于表达式2
expression1 -lt expression2 表达式1小于表达式2
expression1 -le expression2 表达式1小于等于表达式2
! expression 表达式为假
3、文件相关
-[选项] file eg:[ -d file ] 如果文件是一个目录为真
-d 如果文件是一个目录为真
-e 如果文件存在为真
-f 如果文件是一个普通文件为真
-g 文件的set-group-id位被设置为真
-u 文件的set-user-id位被设置为真
-s 文件的大小不为0为真
-r 文件可读为真
-w 文件可写为真
-x 文件可执行为真
【控制结构】
1、if语句
eg:if condition
then
statements
elif condition
then
statements
else
statements
fi
2、for语句
for variable in values
do
statements
done
3、while语句
while condition
do
statements
done
4、until语句
until condition
do
statements
done
5、case语句
case variable in
pattern [ | pattern] ...] statements;;
pattern [ | pattern] ...] statements;;
...
esac
【函数】
1、定义与实现
function_name() {
statements
}