shell 进行数学运算。
expr命令
expr 命令能够识别少数的数字和字符串操作符。这里面有一个坑,运算符前后要加空格!!!
[root@hubotao shell]# expr 1+5
1+5
[root@hubotao shell]# expr 1 + 5
6
有乘号的时候,记得要加转义字符 \。缺陷:只支持整数运算。
[root@hubotao shell]# expr 1 * 5
expr: syntax error
[root@hubotao shell]# expr 1 \* 5
5
改进版 ,称号也不用加转义字符了。
[root@hubotao shell]# echo $[ 1 + 5 ]
6
[root@hubotao shell]# echo $[ 1 * 5 ]
5
[root@hubotao shell]#
bc 命令
允许输入浮点表达式
sed -n '5,10p' jmeter.sh --输出当前文件5-10行。
head,tail显示文件头,尾内容:显示文件里面的内容,暂时没有发现它有什么特殊的地方。是因为我没有文件头尾的内容吗?
head -n 5 h.txt:显示h.txt的前五行内容
head -2 h.txt: 显示h.txt的前两行内容
head -c 20 h.txt:显示h.txt的前二十个字节
head -n -5 h.txt:显示h.txt的最后五行内容
在linux系统直接输入: date +%Y:%m:%d-%H:%M:%S
demo1 输入当前系统日期时间。
echo `date +%Y:%m:%d-%H:%M:%S`
echo `date +%Y` #年份 2019
echo `date +%y` #年份 19
echo `date +%m` #月份
echo `date +%d` #日期
echo `date +%H` #小时
echo `date +%M` #分钟
echo `date +%S` #秒
echo `date +%w` #星期 0123456 0表示星期日
不过这里需要注意的是:
①shell脚本的 date +%m
引号 是table键上的那个键,图片是偷来的。
②然后日期是可以按照您的意愿来格式化的。
前一天日期:date -d "-1 day" +%d
前一个小时:date -d "-1 hour" +%H
前一分钟 : date -d "-1 min" +%M
前一秒钟 : date -d "-1 second" +%S
demo2 输入两个数字比较大小:
read -p "请输入第一个数字:" num1
read -p "请输入第二个数字:" num2
if [[ $num1 =~ ^[0-9]+$ && $num2 =~ ^[0-9]+$ ]];then
if [ $num1 -lt $num2 ];then
echo "数字2大"
elif [ $num1 -eq $num2 ];then #错误写法 [$num1 -eq $num2] 【】号后要加空格,谨记
echo "两个数一样大"
else
echo "数字1大"
fi
else
echo "请输入正确的数字"
fi
unset num1 num2 #删除变量
谨记:#错误写法 [$num1 -eq $num2] 【】号后要加空格,谨记
demo3 模仿写一个登陆
echo -n "请输入姓名:"
read name
echo -n "请输入密码:"
read passwd
if [ $name = "hubotao" -a $passwd = "hubotao" ];then
echo "账号密码验证通过,登陆成功!"
else echo "输入有误,请查看账号密码是否正确"
fi
谨记:空格!!