SHELL脚本(上)

发布时间:2026/7/19 13:46:13
SHELL脚本(上) 目录1.shell基础2.创建脚本基本流程3.变量基础4.特殊变量赋值单引号和双引号的区别反撇号与命令替换read命令--交互式输入5.变量运算exprletbc计算器6.变量类型与作用范围自定义变量与环境变量​编辑只读变量位置变量总结1.shell基础Shell是命令解释器翻译用户和内核之间的对话常见Shellbash默认、sh、tcshShell脚本是命令集合实现自动化操作适合系统管理、批量处理、自动化运维shell脚本的构成#/bin/bach 脚本声明由/bin/bash目录解释#注释信息 解释说明没卵用本质可有可无。命令语句 实际执行 做重要的示例2.创建脚本基本流程创建文件→添加权限→检查语法→执行脚本↓ ↓ ↓ ↓vim xxx.sh chmodx bash -n ./xxx.sh脚本执行方式3.变量基础定义一个变量#格式变量名变量值等号两边不能有空格name小明#规则# -只能包含字母、数字、下划线# -不能以数字开头# -区分大小写变量的引用基本引用变量前加$符号使用花括号表明变量范围fruit苹果echo${fruit}价格的RMBecho的高级用法常用转义字符\n → 换行 \t → 制表符Tab \c → 不换行 \ b → 退格 \\ → 输出\本身 \$ → 输出$本身示例4.特殊变量赋值单引号和双引号的区别tips大大方方用双引号。不容易出毛病。反撇号与命令替换作用把命令输出存到变量里两种写法#反撇号位于Tab键上方timedate %T# $()推荐写法更容易阅读time$(date %T)$()的优势容易嵌套推荐使用 $的写法read命令--交互式输入#基本方式echo请输入姓名read nameecho你好$name#用-p选项简化推荐read-p请输入姓名nameecho你好$name示例5.变量运算expr#用expr做数学运算expr105#输出15#运算符两边必须有空格expr11#✓输出2expr11#✗输出11当字符串了#乘法需要转义*expr2\*3#✓输出6letlet改变的是变量自身# expr方式不修改变量num10expr$num5#输出15但num还是10# let方式直接修改变量num10letnumnum5# num变成15echo$num#输出15#简写num10let num5# num num 5 15letnum-3# num num - 3 12let num*2# num num * 2 24#幂运算num2letnumnum**10# 2的10次方num变成1024bc计算器bc计算器用于小数的计算# bc浮点运算echoscale2; 10/3| bc#输出3.33# scale2表示保留2位小数#计算表达式echoscale3; 10/3| bc# 3.333echo5^2| bc# 25平方echosqrt(16)| bc# 4平方根#变量结合r5echoscale2; 3.14159 *$r*$r| bc# 78.53bc逻辑运算echo3 5| bc#输出0假echo3 5| bc#输出1真echo10 10| bc#输出1真6.变量类型与作用范围自定义变量与环境变量常见环境变量echo$USER#当前用户名echo$HOME#用户主目录echo$PWD#当前工作目录echo$SHELL#默认Shellecho$LANG#系统语言echo$RANDOM#随机数0-32767echo$UID#用户ID只读变量创建只读变量readonly PI3.14159echo 只读变量 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脚本的基本结构和四种执行方式基础的变量和各种变量的使用