shell编程

===============================变量==============================
一、变量定义:  变量名=值                 ps:=两侧不能有空格

二、declare 声明变量类型:
-: 给变量设定类型属性
+: 取消变量的类型属性
-a:数组类型               ex:    declare -a arr[0]=123  
-i:整型类型                ex:    declare -i a=1
-x:环境变量类型         ex:    declare -x e=1         //export是declare -x 简化
-r:只读变量且不可删除类型
-p:显示变量类型         ex:    
ps:
1 变量默认为字符串型
2 数组变量实际检测[] declare可省略(直接arr[0]=1) arr[*]取数组全部元素 arr取第一个元素

 

三、位置参数变量

$N 位置参数
$@ 全参集合
$* 全参字符串
$# 参数个数
$$ 脚本运行的当前ID号
$! 后台运行的最后一个进程ID号
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 返回值

 

===============================数值运算==============================

一、运算符:

技术分享

二、数值表达式:
1 oper3+$(expr $oper1 + $oper2)    // + 两侧需要有空格
2 $((expr))
3 $[expr]
4 declare -i cc=$aa+$bb

 

=================================条件选择==================================
if pipeline                                   case xxx in
    [ pipeline... ]                           xxx)   xxx_statements_xxx
then                                                 ;;
    statements-if-true-1                      yyy)   yyy_statements_yyy
[ elif pipeline                                      ;;
    [ pipeline... ]]                            *)   *_statements_*           //*为通配符相当于default功能
then                                          esac
    statements-if-true-2
...]
[ else
    statements-if-all-else-fails ]
fi

=================================循环=================================
for i in [list]   #ps:省略in [list]代表  for i in "$@"
do
    xxx
done

while condition                until condition
do                               do
    statements                       statements   
done                           done

 

===============================函数=============================

函数定义:[function] func_name() {}

函数调用:func_name arg1 arg2...
函数调用并存储输出:x=$(func_name args...) 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。