Linux学习9----shell
shell
操作系统与程序之间的解释器
shell脚本
- Window中 *.bat
- Linux 中 *.sh
规则
- 都是bash解释执行
- 第一行开始两个字符永远是 #!,称为Shebang,Unix系统中程序会按指令解析文件
- 默认使用$SHELL去解析
#!/bin/sh 开头,代表以bash解释器去执行
#!/usr/bin/python 开头,代表以Python解释器去执行
#!/usr/bin/env 开头,解释器名称,不同平台里在环境变量中自动寻找合适的解释器去执行
开发规范
- 指定解释器
- 作者时间等备注,备注一般不用中文
- 代码功能注释
执行方式
-
bash script.sh 无需权限
source script.sh . script.sh bash script.sh
-
使用 绝对路径/相对路径 必须有权限
脚本语言
shell是一种弱类型语言,无需定义变量类型
命令
history #查看历史记录
-c:清空内存中命令历史
-r:从文件中恢复命令历史
$HISTSIZE #shell进程可保存的最大历史记录
~/.bash_history #历史记录文件
!n #调用第n条历史记录
!! #调用上一次历史记录
!String #匹配String的命令
播种和收获通常不在一个季节,而中间的过程叫做坚持~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构