目录
1.shell基础
2.创建脚本基本流程
3.变量基础
4.特殊变量赋值
单引号和双引号的区别
反撇号与命令替换
read命令--交互式输入
5.变量运算
expr
let
bc计算器
6.变量类型与作用范围
自定义变量与环境变量编辑
只读变量
位置变量
总结
1.shell基础
#!/bin/bach 👈脚本声明由/bin/bash目录解释#注释信息 👈解释说明(没卵用,本质可有可无。)命令语句 👈 实际执行 (做重要的)
示例:
2.创建脚本基本流程
创建文件→添加权限→检查语法→执行脚本↓ ↓ ↓ ↓vim xxx.sh chmod+x bash -n ./xxx.sh
脚本执行方式
3.变量基础
定义一个变量
#格式:变量名=变量值(等号两边不能有空格!)name="小明"#规则:# -只能包含字母、数字、下划线# -不能以数字开头# -区分大小写
变量的引用
fruit="苹果"echo"${fruit}价格的RMB"
echo的高级用法
常用转义字符:\n → 换行 \t → 制表符(Tab) \c → 不换行 \ b → 退格 \\ → 输出\本身 \$ → 输出$本身
示例
4.特殊变量赋值
单引号和双引号的区别
tips:大大方方用双引号。不容易出毛病。
反撇号与命令替换
作用:把命令输出存到变量里
两种写法
#反撇号(位于Tab键上方)time=`date +%T`# $()推荐写法(更容易阅读)time=$(date +%T)
read命令--交互式输入
#基本方式echo"请输入姓名:"read nameecho"你好,$name!"#用-p选项简化(推荐)read-p"请输入姓名:"nameecho"你好,$name!
示例
5.变量运算
expr
#用expr做数学运算expr10+5#输出:15#运算符两边必须有空格!expr1+1#✓输出:2expr1+1#✗输出:1+1(当字符串了)#乘法需要转义*expr2\*3#✓输出:6
let
let改变的是变量自身
# expr方式:不修改变量num=10expr$num+5#输出15,但num还是10# let方式:直接修改变量num=10letnum=num+5# num变成15!echo$num#输出:15
#简写
num=10let num+=5# num = num + 5 = 15letnum-=3# num = num - 3 = 12let num*=2# num = num * 2 = 24
#幂运算num=2letnum=num**10# 2的10次方,num变成1024
bc计算器
bc计算器用于小数的计算
# bc浮点运算echo"scale=2; 10/3"| bc#输出:3.33# scale=2表示保留2位小数#计算表达式echo"scale=3; 10/3"| bc# 3.333echo"5^2"| bc# 25(平方)echo"sqrt(16)"| bc# 4(平方根)#变量结合r=5echo"scale=2; 3.14159 *$r*$r"| bc# 78.53
bc逻辑运算
echo"3 > 5"| bc#输出:0(假)echo"3 < 5"| bc#输出:1(真)echo"10 == 10"| bc#输出:1(真)
6.变量类型与作用范围
自定义变量与环境变量![]()
echo$USER#当前用户名echo$HOME#用户主目录echo$PWD#当前工作目录echo$SHELL#默认Shellecho$LANG#系统语言echo$RANDOM#随机数(0-32767)echo$UID#用户ID
只读变量
创建只读变量
readonly PI=3.14159
echo "只读变量 PI 的值是: $PI"
查看当前所有的只读变量readonly
位置变量
$0→脚本名称(test.sh)$1→第一个参数(张三)$2→第二个参数(123456)$3→第三个参数...$#→参数总数(2)$*→所有参数(整体)$@→所有参数(独立)
就是运行脚本的时候 在后面加参数 未知变量会引用你写下的参数作为变量
#!/bin/bash#创建用户脚本#用法:bash user.sh用户名 密码useradd$1echo"$2"| passwd--stdin$1#执行:bash user.sh zhangsan 123456
总结
shell脚本的基本结构和四种执行方式
基础的变量和各种变量的使用