#比较 描述
#n1 -eq n2 检查n1是否与n2相等
#n1 -ge n2 检查n1是否大于或等于n2
#n1 -gt n2 检查n1是否大于n2
#n1 -le n2 检查n1是否小于或等于n2
#n1 -lt n2 检查n1是否小于n2
#n1 -ne n2 检查n1是否不等于n2
1.脚本sh
#!/bin/bash
#文件名: printf.sh
printf “%-5s %-10s %-4s\n” No Name Mark
printf “%-5s %-10s %-4.2f\n” 1 Sarath 80.3456
printf “%-5s %-10s %-4.2f\n” 2 James 90.9989
printf “%-5s %-10s %-4.2f\n” 3 Jeff 77.564
我们会得到如下格式化的输出:
No Name Mark
1 Sarath 80.35
2 James 91.00
3 Jeff 77.56
[root@localhost ~]# sh /printf.sh
No Name Mark
1 Sarath 80.35
2 James 91.00
3 Jeff 77.56
其中%-5s指明了一个格式为左对齐且宽度为5的字符串替换(-表示左对齐)。如果不用-指定对齐方式,字符串就采用右对齐形式。宽度指定了保留给某个变量的字符数。对Name而言,保留宽度是10。因此,任何Name字段的内容都会被显示在10字符宽的保留区域内,如果内容不足10个字符,余下的则以空格符填充。对于Mark字段,将其格式化为%-4.2f,其中.2指定保留2个小数位。注意,在每行格式字符串后都有一个换行符(\n)。
2.打印色彩输出
在终端中生成彩色输出相当好玩,我们可以使用转义序列来实现。每种颜色都有对应的颜色码,比如:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
要打印彩色文本,可输入如下命令:
echo -e “\e[1;31m This is red text \e[0m”
[root@localhost ~]# echo -e "\e[1;31m This is red text \e[0m"
This is red text 这里看不出颜色,但其实是红的
要设置彩色背景,经常使用的颜色码是:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
3.获取字符串长度
以用下面的方法获得变量值的长度:
length=${#var}
例如:
$ var=12345678901234567890$
echo ${#var}
20
4.使用 shell 进行数学运算
1.以用一些方法使它能像数字一样进行运算。
#!/bin/bash
no1=4;
no2=5;
let result=no1+no2
echo $result