Shell基础知识—变量和变量的数值计算

一.定义变量:
1.a=hello ##直接定义
2.b=‘hello’ ##加单引号定义
3.c=“hello” ##加双引号定义
在这里插入图片描述
区别:’'单引号定义时,不会解析其中内容,原样输出;而""双引号和直接定义都会做解析;双引号还可以定义包含空格的字符,其他两个不行。故,没有特别要求时,字符串都加双引号,需要原样输出就加单引号

二.特殊变量:

$0 获取脚本文件名,如果执行时包含路径,则输出脚本路径
$n(n>0) 获取脚本的第n个参数
$# 获取脚本后参数的总数
$* 获取所有参数
$@ 获取所有参数
$? 获取上一条命令结果的返回值,正确则输出0,错误则输出非0
$$ 获取当前shell进程号

1.$0:获取脚本文件名,如果执行时包含路径,则输出脚本路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.$n(n>0):获取脚本的第n个参数
在这里插入图片描述
在这里插入图片描述
3.$#:获取脚本后参数的总数
在这里插入图片描述
在这里插入图片描述
4.$?:获取上一条命令结果的返回值,正确则输出0,错误则输出非0
在这里插入图片描述
5.$$:获取当前shell进程号
在这里插入图片描述
三.read用法:
在这里插入图片描述
在这里插入图片描述
四.将命令的结果赋值给变量:
1. 将ls -l命令赋值给CMD
2. 对变量进行解析输出
在这里插入图片描述
<练习:打包日志格式为log_日期.tar.gz>
1.tar zcf log_$(date +%F).tar.gz /var/log/
在这里插入图片描述

五.变量的数值计算:
1. expr命令: ##此命令需要注意的就是乘法运算时需要转义,且执行后不会保留新的值
在这里插入图片描述
2. $[]或(())表达式: ##正常运算,不需转义
在这里插入图片描述
3.let命令 ##let命令在执行后会保存新的值
在这里插入图片描述
4.小数计算工具:bc
在这里插入图片描述
<scale=数字:意思是保留小数点后多少位>
<练习:写脚本用来计算两个数的加减乘除>
1.编写脚本,内容如下图
在这里插入图片描述
<-t:默认等待8秒后退出>
2.执行该脚本,输入两个整数,查看运算结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/y_yang666/article/details/85251348