1、shell脚本语言介绍
优点:调用os(操作系统)的命令行,来实现所有功能
缺点:没有库调用(区分python)
变量:全局变量、局部变量、本地变量、传参
/etc/shells/ --查看当前系统支持的shell程序
echo $SHELL -- 查看当前会话的shell程序
/etc/passwd -- 制定了用户默认支持的shell程序
shell的执行:
1)bash命令来执行脚本
-n 查看shell脚本的逻辑错误(单词查不出)
-x 逐行显示执行的脚本程序(方便排错)
2)授权 chmod +x filename.sh
使用全路径执行脚本,即可./filename.sh
2、变量
环境变量($HOME、$SHELL、)
局部变量 declare命令 -- 定义变量类型
本地变量 local在函数中使用
变量类型:
数值型:int
整型、浮点型(float)、布尔值(true/false)
字符串:
1)普通字符及字符串
2)数组
编程语言的分类:
强类型语言 -- 数值必须被定义,才能进行处理或运算
弱类型语言 -- 编程语言可以自动识别变量类型
【多态--一个数据具有多个属性,而最后使用的属性取决于和他进行运算事物数据】
传参
$? ---上一条命令执行状态(0 正确 1-255错误)
$1 $2 .. ${10} --- 命令后面传入脚本的数据,以空格为分隔符
$# --- 统计传参数量 ${$#}:表示传参的最后一个数
$* --- 表示所有传参,所有传参以字符串形式输出
$@ --- 表示所有传参,所有传参以列表形式输出
定义变量格式:
NAME=VALUE(一个等号是赋值,两个等号是判断)
我们通过命令declare定义变量类型:
declare -i 整数
declare -a 数组
变量命令:
1)下换线方式指定变量类型
2)驼峰式命名方式
3、test文本测试、条件判断
在脚本中,我们需要进行语句分支;说白了,就是要做判断
判断就是使用test命令来实现;
使用格式:
1)test[option]file
2)[ 条件语句 ] :【 使用比较选项、判断选项和关联选项时用[] 】
常见的test选项:
比较选项:
-eq -ne -gt -lt -ge -le
判断选项:
-f判断是否为普通文件
-d判断是否为目录文件
-L判断是否为连接文件
-r -w -x判断文件是否具有读写执行权限
关联选项:
-o 或
-a 与
! 非
字符串判断:
= 等于
!=不等于
-z 判断字符串长度是否存在(真)
-n 存在为假,不存在为真
4、逻辑运算
与:&&
或:||
非:!=
这个逻辑运算符,前后对接都是单独存在的命令;
[ $? -eq 0 ]&& exit 0 || exit 1
5、算术运算
*let 1+1
let a=1+1
echo $a
expr 1*1
expr 1 * 10
*$[$1+10]
a=$[2+3]
echo $a
$(($1/$2))
a=$((3/2))
echo $a
+加 -减 *乘 /除 %取余 **次幂
来源:https://www.cnblogs.com/hmm01031007/p/11348255.html