标签:返回 运算符 Shell name echo 学习 array true
Shell学习
参考资料:https://www.runoob.com/linux/linux-shell-variable.html
变量
变量的命名规则和其他语言基本一样
your_name="qinjx"
echo $your_name
echo ${your_name} 推荐使用带花括号的
Shell字符串
单引号:里面的字符会原样输出,无法使用变量,无法对里面的单引号进行转义
双引号:和单引号刚好相反
Shell数组
支持一维数组(不支持多维数组),没有限定数组大小
数组名=(值1 值2 ... 值n)
定义方式一
array_name=(value0 value1 value2 value3)
定义方式二
array_name=(
value0
value1
value2
value3
)
定义方式三
array_name[0]=value0
array_name[1]=value1
array_name[n]=valuen
读取数组
${数组名[下标]}
echo ${array_name[@]} 使用 @ 符号可以获取数组中的所有元素
获取数组的长度
# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}
注释
# 注释内容
:<<EOF
注释内容...
注释内容...
注释内容...
EOF
EOF也可以使用其他符号
传递参数
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
$# 传递到脚本的参数个数
$* 显示所有传递到脚本的参数 把所有参数看成一个
$$ 脚本运行的当前进程号
$! 后台运行的最后一个进程的ID号
$@ 显示所有传递到脚本的参数 有几个参数,就相当于传入几个
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
运算符
原生bash不支持简单数学运算,通过其他命令实现,例如awk和expr
#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为 : $val"
运算符 |
说明 |
举例 |
+ |
加法 |
expr $a + $b 结果为 30。 |
- |
减法 |
expr $a - $b 结果为 -10。 |
* |
乘法 |
expr $a \* $b 结果为 200。 |
/ |
除法 |
expr $b / $a 结果为 2。 |
% |
取余 |
expr $b % $a 结果为 0。 |
= |
赋值 |
a=$b 将把变量 b 的值赋给 a。 |
== |
相等。用于比较两个数字,相同则返回 true。 |
[ $a == $b ] 返回 false。 |
!= |
不相等。用于比较两个数字,不相同则返回 true。 |
[ $a != $b ] 返回 true。 |
注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。 |
|
|
关系运算符
关系运算符只支持数字,不支持字符串,除非字符串的值是数字。
下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20:
运算符 |
说明 |
举例 |
-eq |
检测两个数是否相等,相等返回 true。 |
[ $a -eq $b ] 返回 false。 |
-ne |
检测两个数是否不相等,不相等返回 true。 |
[ $a -ne $b ] 返回 true。 |
-gt |
检测左边的数是否大于右边的,如果是,则返回 true。 |
[ $a -gt $b ] 返回 false。 |
-lt |
检测左边的数是否小于右边的,如果是,则返回 true。 |
[ $a -lt $b ] 返回 true。 |
-ge |
检测左边的数是否大于等于右边的,如果是,则返回 true。 |
[ $a -ge $b ] 返回 false。 |
-le |
检测左边的数是否小于等于右边的,如果是,则返回 true。 |
[ $a -le $b ] 返回 true。 |
布尔运算符
运算符 |
说明 |
举例 |
! |
非运算,表达式为 true 则返回 false,否则返回 true。 |
[ ! false ] 返回 true。 |
-o |
或运算,有一个表达式为 true 则返回 true。 |
[ $a -lt 20 -o $b -gt 100 ] 返回 true。 |
-a |
与运算,两个表达式都为 true 才返回 true。 |
[ $a -lt 20 -a $b -gt 100 ] 返回 false。 |
标签:返回,
运算符,
Shell,
name,
echo,
学习,
array,
true
From: https://www.cnblogs.com/startstart/p/16909469.html