变量的定义规范
- 首个字符不能出现数字
- 变量名中间不能有空格
如何使用变量
echo $变量
不让再次修改这个变量
readonly $name (存在内存中,重启就不生效了)
删除变量
unset 变量名称(只读变量除外)
单引号跟双引号的区别
单引号的字符都是原样输出
单引号的变量是无效的
echo ${#str} 这是输出变量str的长度
获取指定字符 echo ${str:5:8}
第一个:后面指的是取值的位置
第二个:后面指的是取值的个数
定义数组再取出来
获取指定元素 第一个元素从 “0”开始
获取数组元素的个数
单行注释是#号
多行注释如下
sh test.sh 直接跟变量效果
-----------------
echo $?
结果为0代表,上条命令成功,非0即有问题
@ 跟*的区别
在有双引号的情况下会不一样
$* 把所有的传参当做一个字符展示
[email protected] 原样输出
变量计数
count=0
第一种方法: let count++
第二种方法: count =$((count+1))
一百以内的随机数
-
num1=$((RANDOM%100))
-
num1=$(expr $RANDOM%100)
以下是一道小题
另一个版本
shell运算
- 算数运算(expr 后面都是要加个空格)
expr 1 + 2
expr 10 - 3
expr 10 * 3
expr 10 / 3
expr 10 % 3
echo $[1+2]
echo $((1+2))
这里scale是小数点保留几位的意思
- 关系运算
-eq 等于
-ne 不等于
-ge 大于等于
-gt 大于
-le 小于等于
-lt 小于 - 布尔运算
true
false - 逻辑运算
&& || - 字符串运算
- 文件测试