$0:为脚本本身或命令本身
$*:为脚本后的所有参数,相当于:$@
$#:脚本参数数量统计
$?:上一条命令是否执行成功,返回值是“0”则成功,否则失败
$0:相当于脚本本身


条件测试语法:
test:文件表达试 或[文件表达式]

文件测试:
[ 操作符 文件目录 ]
操作符:! ##表示反相,在任何命令之中都试用
-f ##判断是否存在文件 ;
-d ##判断是否存在目录 ;
-e ##测试是否存在(既能判断文件又能判断目录)
-r ##测试是否有读取权限 ;
-w ##测试是否有写入权限
-x ##测试是否有执行权限


整数比较
[ 整数1 操作符 整数2]
-eq ##等于
-ne ##不等于
-gt ##大于
-lt ##小于
-ge ##大于等于
-le ##小于等于


字符串比较:通常用于比较变量的值
语法: [str1 == str2 ] ##判断字符串1等于字符串2
[str1 != str2 ] ##判断字符串1不等于字符串2
[ -z str1 ] ##判断变量内的值字符串1为空,例:[ -z $A ],若变量A存在则返回值为1,若不是则为0。


逻辑测试
语法:[表达式1] && [表达式2] ##若表达式1与表达式2都成功时,才会成功,“和”“与”;
[表达式1] || [表达式2] ##表达式1或2有一个成功时,就会成功,“或”;
![表达式1] ##若表达式1不成立是,则为成功,“非”;


echo $RANDOM ##随机值
随机值0-65535之间

1.basename 文件位置                              ##将一个文件的路径去除,只显示文件名称;
2.arping -|eth0 -f 目标ip地址                     ##ping 对方主机并显示其MAC地址;
3.seq 1 10                                                 ##输出1到10之间的所有整数到屏幕,默认是强制换行;
4.expr $RANDOM%100                           ##生成100内的随机数,expr可以用来运算变量或者整数,例如:
expr $A + $B                                            ## 加+ 减- 乘* 除/ 取余%
5.echo $RANDOM |md5sum |cuut -c 1-6 ##生成随机6位字符串
6.echo $RANDOM(($RANDOM%100))    ##随机生成100以内的随机数
7.echo 1+2 |bc                                          ##使用bc计算器进行运算;
8.sort -n /root/a.txt |xargs echo                 ##将文件中的整数或者小数进行排序并且按一行输出到屏幕

扩展命令
Cut    ##截取字符串
-b      ##按字节截取字符串

cat  ##查看文件内容

-c    ##以字符为单位进行分割字(字符串个数截取)

中文同理

-d    ##自定义分隔符,默认为制表符(没有-d分隔,默认为空格)

-f    ##指定-d分隔符的那一段,和-d结合起来使用

 

查看文件内容最后一个字符串
cat 文件名 |grep -o .$

surt 排序(默认排序第一列,无法排列双数以上,从小到大,从大到小是surt -r)

surt -r

surt -n 可以排列双数,从大到小。

surt -u 去除重复的信息

 surt -o  把排序后的结果输出到新的文件

surt -k  选中第几列进行输出,例如sort -n -k 2 -t : facedook.txt ##-t是分隔符。

sort -n unmder.txt | xargs echo 输出到屏幕一行