Shell之变量和常见符号

变量

  • 变量不需要声明
  • 等号的两边不能有空格
  • 变量调用:$a 或者 ${a}。{}的作用是区分和其他字符连接使用,比如 ${a}ook
变量 变量含义
$0 返回文件名
$1-$9 返回第一个-第九个参数
$* 返回所有的参数
$# 返回参数的个数
$? 判断上一条命令是否执行成功.(0:成功 非0:失败)

 

常见符号

符号 含义
> 覆盖原来的内容
>> 尾部追加
; 执行多条命令
| 管道符
|| 前面的命令执行失败,后面的才可以执行
&& 前面的命令执行成功,后面的才可以执行
"" 输出里面包含的变量值
'' 输出本身,不做任何编译
`` 输出执行命令结果
2>/dev/null 输出错误到无底洞
1>/dev/null 正确输出到无底洞

 

 

数字计算

1. bc
bc计算器支持浮点运算,争对精度问题,需要指定scale(只对除法,取余,乘幂有效)
[root@user]$ d=`echo "scale=2;5.0/3.0" | bc`
[root@user]$ echo $d
1.66

2.expr
不支持浮点数计算。而且要注意数字与运算符中的空格
[root@user]$ a=`expr 1+1`
[root@user]$ echo $a
1+1
[root@user]$ a=`expr 1 + 1`
[root@user]$ echo $a
2

3.$(()) 或 $[]
同expr
[root@user]$ b=$((1 + 1 ))
[root@user]$ echo $b
2

4.let
不支持浮点运算,不支持输出,只支持赋值
[root@user]$ let b=50/5
[root@user]$ echo $b
10

条件判断

1.整数比较
-lt(less than) 小于 -le(less equal) 小于等于
-eq(equal) 等于 -ne(not equal) 不等于
-ge(greater equal) 大于等于 -gt(greater than) 大于

2.文件权限判断
-r(read) 可读权限 -w(write) 可写权限 -x(execute)可执行权限

3.文件类型判断
-f(file) 文件存在且是常规文件
-d(directory) 文件存在且是目录
-e(existence) 文件存在

 

posted @ 2020-03-09 22:23  鄙人取个名字好难  阅读(282)  评论(0编辑  收藏  举报