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脚本的基本结构和四种执行方式基础的变量和各种变量的使用

相关新闻

Audio Vivid:三维菁彩声音频体验(204)

Audio Vivid:三维菁彩声音频体验(204)

在鸿蒙(HarmonyOS)应用开发中,Audio Vivid(菁彩声)作为全球首个基于 AI 技术的三维声音频编解码标准,实现了音频技术从传统“声道”到“对象”的跨越式革新。依托鸿蒙系统的音视频底层能力与 AI 编解码技术…

2026/7/21 13:54:47 阅读更多 →
别再抄“万能提示词”了:一篇讲清提示词、上下文工程和 Markdown

别再抄“万能提示词”了:一篇讲清提示词、上下文工程和 Markdown

01 抄再多,AI为什么还是答非所问? 扔掉网上抄来的“万能提示词”吧。 抄得再多,AI照样可能答非所问。 你一定见过这种开头:你是一位资深文案专家,擅长短视频创作。请用专业、严谨、有感染力的方式,帮我写一…

2026/7/21 13:54:22 阅读更多 →
面试官:`try { return “a“; } finally { return “b“; }` 到底返回什么?99% 的人第一次都答错了!

面试官:`try { return “a“; } finally { return “b“; }` 到底返回什么?99% 的人第一次都答错了!

Java 面试中,经常会出现这样一道经典题: public static String test() {try {return "a";} finally {return "b";} }很多人第一反应是:返回 "a",因为 try 先执行。也有人认为:finally 只…

2026/7/21 19:43:36 阅读更多 →

最新新闻

深入解析ICEPick TAP路由与系统控制:嵌入式调试的底层开关艺术

深入解析ICEPick TAP路由与系统控制:嵌入式调试的底层开关艺术

1. 项目概述:ICEPick与TAP路由在嵌入式调试中的核心地位 在嵌入式系统开发,尤其是复杂的多核SoC(System on Chip)设计中,调试能力直接决定了开发效率与产品可靠性。想象一下,面对一个集成了多个处理器核心、…

2026/7/22 14:45:25 阅读更多 →
Jupyter Notebook高效使用指南:从数据科学到生产部署

Jupyter Notebook高效使用指南:从数据科学到生产部署

1. Jupyter Notebook核心价值与适用场景作为数据科学领域的瑞士军刀,Jupyter Notebook早已超越了简单的代码编辑器范畴。我第一次接触这个工具是在2016年参加Kaggle竞赛时,当时就被其交互式工作流彻底改变了数据分析的习惯。与传统的IDE不同,…

2026/7/22 14:45:25 阅读更多 →
如何基于开源组件开发一个像 Dify 一样的 AI 工作流平台,实现自主可控

如何基于开源组件开发一个像 Dify 一样的 AI 工作流平台,实现自主可控

关键词:AI 工作流、Dify Workflow、流程设计器、流程引擎、Agentic Workflow、RAG、LLM 节点、Agent 节点、Tool 节点、MCP、工作流编排、开源组件、私有化部署、自主可控一、为什么 AI 工作流平台会成为企业 AI 应用的核心很多企业在做大模型应用时,最初…

2026/7/22 14:45:25 阅读更多 →
seedance2.5什么时候上线,关于seedance2.5发布和新功能的消息

seedance2.5什么时候上线,关于seedance2.5发布和新功能的消息

Seedance2.5原定于7月16号前后上线,但现在已经21号了还没上,很多【AI1505】平台用户问我们情况,现在无法得知准确的信息!得到的回答如下:原本定的时间延迟了,估计得再等两周左右,具体时间现在确…

2026/7/22 14:45:25 阅读更多 →
安卓模拟器优化指南:电脑畅玩《墨香情》手游

安卓模拟器优化指南:电脑畅玩《墨香情》手游

1. 安卓模拟器入门:为什么选择电脑玩手游?作为一名手游深度玩家,我最初接触安卓模拟器是因为手机屏幕太小,长时间操作容易疲劳。在电脑上运行手游不仅能享受大屏体验,还能通过键鼠操作获得更精准的控制。目前主流的安卓…

2026/7/22 14:45:25 阅读更多 →
TMS320F280x DSP时钟与低功耗设计:从PLL配置到STANDBY模式实战

TMS320F280x DSP时钟与低功耗设计:从PLL配置到STANDBY模式实战

1. 项目概述:为什么时钟与功耗管理是DSP设计的命脉在工业电机驱动、数字电源或者任何对实时性有苛刻要求的嵌入式控制系统中,我常常把TMS320F280x这类DSP芯片比作一个精密交响乐团的指挥。而时钟模块,就是这个指挥手中的节拍器。它发出的每一…

2026/7/22 14:44:25 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻