变量
-
运算结果
`ls -al` = $( ls -al)
-
系统变量
export A=a
source 配置文件
echo $变量名
-
位置参数变量
-
0 命令本身,1-9:参数
- $*:所有参数,整体
- $@:所有参数、但是区分对待
- $#:参数个数
-
-
预定义变量
- $$:当前进程ID
- $!:后台运行的最后一个进程号
- $?:最后一个命令返回的状态
-
运算符
-
[a+b]
- expr: a+b
-
-
条件判断
- =:字符串比较
- -lt:小于
- -le:小于等于
- -eq:等于
- -gt:大于
- -ge:大于等于
- -ne:不等于
- -r:有读的权限
- -w:写的权限
- -x:执行的权限
- -f :普通文件
- -e:文件存在
- -d:文件存在并是一个目录
-
流程控制
if [ "a" = "b"] then echo "eq" elif[ "a" = "a" ] fi
case $变量名 in "v1") ;; "v2") ;; "v3") ;; *) ;;
for 变量 in v1 v2 v3 do done
while [条件判断] do done
-
控制读入
- read
- -p:指定读取时的提示
- -t:指定读取等待多少秒
- 变量:赋值
-
函数
-
系统函数
-
basename
获取完整路径最后/的部分,常用作获取文件名
basename /aa/bb/cc/ee.sh .sh -> ee basename /aa/bb/cc/ee.sh -> ee.sh
-
dirname
获取获取完整路径/前面的部分
-
getopts
while getopts "bfh:t:" opt; do case "${opt}" in b) echo "-b" ;; f) frontend=true echo "-f" ;; t) host=$OPTARG echo "-f : host = " + $host ;; *) usage ;; esac done
-
-
-
自定义函数
function fname[()] { }
网友评论