初步学完shell脚本编程,通过这篇博客对其小结一下

shell定义:shell其实是一个命令解释器,它的作用是解释用户输入的命令和程序

shell脚本:我们可以在文本中输入一系列的命令、控制语句和变量,这一切有机的结合起来就形成了功能强大的shell脚本。

一.基础语法
查看系统脚本解释器

常用的是bash解释器
使用bash解释器执行脚本的三种方式:
bash xx.sh
sh xx.sh
./xx.sh(注意是否有权限,没有通过chmod 755 xx.sh 或chmod u+x xx.sh 添加权限)
shell中的变量
系统变量
$HOME 家目录
$PWD 当前目录
$SGELL 解释器路径
$USER 用户
自定义变量
变量名=变量值注意等号两边没有空格
撤销变量 unset 变量名
静态变量
readonly 变量名=变量值(declare -r 变量名=变量值)
静态变量不能撤销,关机或运行完脚本自动失效
全局变量
变量名=变量值
export 变量名
特殊变量$
$n
n为数字,$0代表该脚本名称,$1-$9代表第一到第九个命令行参数,第十个及以后的参数需要用大括号包含,如${10}

$#
获取所有输入参数的个数
[email protected]和$*都表示命令行中所有的参数,一般看来没有区别,for循环打印时都是一个个打印,但当用双引号分别将他们括起来,"[email protected]"是分裂的,不是一个整体(for i in "[email protected]"),而“$*”是一个整体
$?
最后一次执行命令的返回状态,如果值为0,证明命令执行正确,非0命令执行不正确
注意:函数中,函数的返回值只能有$?获取,且返回值小于等于255。单独比较大小时,结果也是由$?获取

运算符
乘除加减
第一种方式:$((运算式))和$[运算式],运算符之间有没有空格无所谓
第二种方式:`expr 变量1  +-*/% 变量2` 运算符之间有空格 ,要加反引号

条件判断
[ condition ] 条件与两端括号之间有空格
大小判断
-lt 小于
-le 小于等于
-ge 大于等于
-gt  大于
-eq  等于
-ne  不等于