echo和printf
1.共同点
- 均是终端打印输出命令
- 均支持变量显示
- 支持转义(echo需加-e)
由共同点来看,2个命令均可满足一般的输出。
2.不同点
- echo 支持自动换行,printf需加\n来换行
- printf支持格式化输出 例如%7.3f
由不同点来看,printf有着支持格式化输出这一优点,应用更广泛。
3.echo的""、''、 。
- 不加 影响可读性 很容易造成不知到哪里输出截止
- 加''不支持变量显示
- 加“”避免了以上2点,应用最广泛
整数运算
expr $value1 + $value2
- $(expr $value1 + $value2 )
- num3=$((num1+num2))
- let i++ let num3=num1+num2
优缺点:let虽简洁却不能在条件判断中使用;取结果集虽繁琐但能在条件判断中使用。
字符串
1.字符串长度
length=${#变量},注意这里变量没有加$,这对于内置变量$1来说很不利,一般用a=$1
length=${#变量}来折衷。
2.字符串拼接
value3="${value1} ${value2}"
3.字符串截取
value2=${value1:6:5} 6是截取开始的位置,5是截取的长度。注意,字符串从0开始。
其他
运算符
1.算术运算符
- * / % 只有*需转义 *
两边需用空格隔开
2.关系运算符(暂时为整数间)
> < >= <= != ==
-gt -ge -lt -le -eq -ne
3.字符串运算符
= != -z
4.文件运算符
-d -f -r -w -x -e
5.``和$()为取结果集。
- * / % 只有*需转义 *
- [ ]注意空格,+ -等运算符注意空格和\转义
网友评论