shell判断数字大小_shell! shell! shell!

1.du  df   free  只介绍了大方向,具体想怎么用自行搜索下指令吧。

du命令

显示每个文件和目录的磁盘使用空间~~~文件的大小

cd2b2055485d899960702c51deb41622.png

df命令

命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

d97c04fb09083c701afa4f72cea3aff2.png

free命令

查看内存

76c5e5579ae443912888385b6938b522.png

889152c646a9da2a38674493ad8fcd2b.png

2.basename和dirname

d18bb878549bafc7df089ba9f803d503.png

这里来个例子吧

8afa9975c13dbc269c005414b335bc5f.png

3.变量为空或者变量未定义他的长度都为0

字符串变量养成一个习惯,加上一个双引号,因为部分地方不加双引号会出现错误

举例:

61765e66758995c8ab45c2dddec47332.png

这里-z是字符段长度是零,-n正好相反不为零。由图可见-n判断的时候不加双引号判断出现了错误。

7165ccd935d21791964671f9916ea7c7.png

for循环中也会出现不一致。

双引号还有另外一个作用就是当你未定义一个变量但是后面调用了,调用的时候加上双引号就不会报语法错误了。也不知道这是优点还是缺点

4a28eaba5d47a3a444f7d5c794ce180b.png

4.[]和[[]]的区别

1762e326098ab7c2e11ee8acef44e3b3.png

当然并不只有这点区别

[[]]要比[]强大许多,就比如说正则,[[]]可以支持正则

正则

^ 行首$ 行尾. 除了换行符以外的任意单个字符* 前导字符的零个或多个.* 所有字符[] 字符组内的任一字符[^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)^[^] 非字符组内的字符开头的行[a-z] 小写字母[A-Z] 大写字母[a-Z] 小写和大写字母[0-9] 数字\< 单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当做单词\> 单词尾? 前导字符零个或一个+ 前导字符一个或多个x{m} x出现m次x{m,} x出现m次至多次(至少m次)x{m,n} x出现m次至n次abc|def 表示abc或defa(bc|de)f 表示abcf 或 adef

应用

            判断是否是qq邮箱

0691cbe9c4c39896c20b0a794784550b.png

            判断是否是首字母大写的纯英文字符串

a02414969f3190d9a1620df907798fdc.png

然后[[]]和正则搭配我们来一个脚本

4681aa868803b1409eeefa70396acc2f.png

[root@localhost lying]# vim useradd01.sh #!/usr/bin/bash######################################useradd                            ##v1.0 by zqh 25/1/2021              ######################################read -p "you want useradd number:" usernumif [[ ! "$usernum" =~  ^[1-9][0-9]*$ ]]then        echo "不是正经数字"        exitfiread -p "you want username qianzhui:" prefixif [[ ! $prefix =~ ^[A-Z][a-z]{2,}$ ]]then        echo "请输入规范的用户名"        exitfifor i in `seq $usernum`do        if id (${prefix}${i})&>/root/lying/laji.txt        then                echo "用户${prefix}${i}已存在"        else#               useradd (${prefix}${i})                echo "创建用户${prefix}${i}"        fidone

$()和``  

命令替换   ``  基本上可用在全部的 unix shell 中使用,若写成 shell script ,其移植性比较高。而 $( ) 并不见的每一种 shell 都能使用。

()和{}

()是重新开一个子shell然后执行,而{}则是在当前shell里执行。

()最后一个命令可以不用分号,{}最后一个命令要用分号。

()里第一个命令和左边括号不必有空格,而{}第一个命令和左括号之间必须有一个空格。

(){}里的某个命令的重定向只影响该命令, 而括号外的重定向则影响到括号里的所有命令。

e0f6f9bffe92fd255010491cdc1cce88.png

$()和$[]

整数运算

我们下期再见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值