函数别名
设置别名
alias name="command"
alias ll="ls -laS"
取消别名
unalias name
求取数学表达式
value=$[6/3]
value=$((6/3))
let "value += 1"
定义局部变量
local value
定义整数
declare -i value
命令替换
value=`command`
value=$(command)
系统变量
$n,第n个参数
$#,参数个数
$0,当前shell脚本名称
$?,前一命令退出状态
$*,以"参数1 参数2"返回
$@, 以"参数1" "参数2"返回
$$, 本进程的id
$!,上一进程id
$-, 使用Set命令设定的Flag一览
$PS1
清除变量
unset ariable_name
清除函数
unset function_name
计算行数:wc -l
设置执行脚本的shell,位于第一行的#!:#!/bin/bash
echo输出不换行:echo -n
关闭自动打印输入字符:stty -echo
打开自动打印输入字符:stty echo
打开命令跟踪:set -x
关闭命令跟踪:set +x
字符串
string1 = string2 判断字符串是否相等
string1 != string2 判断字符串是否不相等
-z string 判断字符串是否为空串,"",null,未定义均为正
string1 \> string2 判断字符串小于,<需要转义
string1 \< string2 判断字符串大于
判断
字符串
整数string1 = string2 判断字符串是否相等
string1 != string2 判断字符串是否不相等
-z string 判断字符串是否为空串,"",null,未定义均为正
string1 \> string2 判断字符串小于,<需要转义
string1 \< string2 判断字符串大于
num1 -eq num2 判断两数是否相等
num1 -ne num2 判断两数是否不相等
num1 -gt num2 大于
num1 -ge num2 大于等于
num1 -lt num2 小于
num1 -le num2 小于等于
文件
-a file -e file 文件是否存在
-b file 是否为块文件
-c file 是否为字符文件
-d file 是否为目录
-s file 是否为非空文件
-f file 是否为常规文件
-r file 是否可读
-w file 是否可写
-x file 是否可执行
-L file 是否为链接文件
条件语句格式
- if expression
- then
- statement
- fi
- if expression
- then
- statement
- else
- statement
- fi
- if expression
- then
- statement
- elif expression
- then
- statement
- else
- statement
- fi
- case value in
- value1)
- statement;;
- value2)
- statement;;
- *)
- statement;;
- esac
for 列表形式
- for variable in {list}
- do
- statement
- done
- for var in 1 2 3 4
- do
- echo $var
- done
- for var in {1..4}
- do
- echo $var
- done
- for var in {start..end..step}
- do
- statement
- done
- for i in {1..100..2}
- do
- echo $i
- done
- for file in $(ls)
- do
- echo $file
- done
- for file in *
- do
- echo $file
- done
类c风格的for循环
- for ((expression1;expression2;expression3))
- do
- statement
- done
- for ((i=0;i<5;i++)
- do
- echo $i
- done
for循环处理数组
- for variable in ${array[*]}
- do
- statement
- done
- array={1 2 3 4 5}
- for num in ${array[*]}
- do
- echo $num
- done
until循环,条件满足后退出
- until expression
- do
- statement
- done
- num=1
- until [[ num -gt 4 ]]
- do
- echo $num
- ((num++)
- done
while循环
- while expression
- do
- statement
- done
- num=1
- while [[ num -lt 5 ]]
- do
- echo $num
- let "num++"
- done