当前位置: 首页 > news >正文

shell的基础

Shell 比较运算符

-eq:等于(==)
-ne:不等于(!=)
-gt:大于(>,需转义)
-ge:大于等于(>=)
-lt:小于(<,需转义)
-le:小于等于(<=)


单中括号 [ ] 语法规则

  • 表达式前后必须加空格(如 [ $a -eq 1 ])。
  • 变量引用建议用双引号包裹(如 [ "$var" = "abc" ])。
  • 字符串比较用 =!=,数字比较用 -eq-ne-gt 等专用运算符。

双中括号 [[ ]] 语法规则

  • 表达式前后建议加空格。
  • 变量引用可不加双引号(如 [[ $var = abc ]])。
  • 支持逻辑运算符 &&(与)、||(或),例如 [[ $a != 1 && $a != 2 ]]
  • 支持模式匹配(如 [[ $str == *abc* ]] 检查字符串是否包含 abc)。
  • 支持正则表达式(用 =~,如 [[ $str =~ ^[0-9]+$ ]] 判断是否为数字)。
  • 数字比较可直接用 >< 等符号(无需 -gt-lt)。

常用逻辑操作符

  • -a&&:逻辑与(需前后条件均成立)。
  • -o||:逻辑或(只需一个条件成立)。
  • !:逻辑否。

随机数生成示例

number=$(($RANDOM % 10))  # 生成0-9的随机数


Shell 脚本调试

sh -x script.sh  # 显示执行过程的详细调试信息


Shell 脚本编写规范

  1. 脚本头:指定解释器(如 #!/bin/bash)。
  2. 变量定义:使用全大写命名,避免与系统变量冲突。
  3. 环境判断:检查依赖项或运行环境(如 [ -f "/path/file" ])。
  4. 函数封装:复用代码逻辑(如日志函数、错误处理函数)。
  5. 交互逻辑:无交互时用条件判断,有交互时用 read 命令。
  6. 结果输出:明确提示执行状态(如 echo "Backup completed.")。

常见 Shell 脚本用途

  • 重复任务:自动化备份、日志清理、批量用户管理。
  • 系统巡检:检查磁盘空间、服务状态、性能指标。
  • 服务管理:一键安装、配置、启停服务(如 Nginx/MySQL)。

注意事项

  • 变量赋值等号两侧不能有空格(如 var=value)。
  • 条件测试中,[ ] 是命令,[[ ]] 是关键字,后者功能更强。
  • 字符串比较避免用 -eq,数字比较避免用 =
http://www.dtcms.com/a/618702.html

相关文章:

  • 解决 Oracle 11g Data Guard ORA-16047 的实战经验
  • 友情链接网站源码网站搭建源码
  • 手机做公司网站wordpress二次开发主题
  • RabbitMQ四种交换器类型详解及示例
  • 网站配图尺寸信息流是sem还是seo
  • 安微凤阳县建设局网站网页设计html模板下载
  • 精品网站设计商标logo图片
  • RK3588平台部署MNN和OPENCL
  • 基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(下)
  • 网站触屏版建站软件排行榜
  • docker-study
  • 为什么建设厅的网站不好打开龙华网站开发公司电话
  • 网站建设方案书是啥外贸网站建设深圳
  • 基础算法精讲 13 | 二叉树的层序遍历
  • 网站设计包含哪些技术wordpress数据库更改账号密码
  • 如何通过reactor实现流式响应接口
  • vue-leaflet使用教程(一)
  • 江苏省徐州市建设银行网站技术培训网站
  • 如何取外贸网站域名建设网站平台费
  • python 贪心-dfs-dp
  • Android Studio - 使用 BuildConfig
  • 在ec2上部署Qwen2.5omini和Qwen3omini模型
  • 设备通信的艺术:从协议选型、性能调优到自定义实现的全维度技术实践
  • 过滤器模式、责任链模式
  • 做货源的网站郑州企业免费建站
  • HCIP笔记5--OSPF域间路由、虚链路、认证
  • Java 黑马程序员学习笔记(进阶篇27)
  • 海南网站推广建设温州市城市基础设施建设网站
  • CentOS 7 安装 unzip-6.0-21.el7.x86_64.rpm 步骤详解(附安装包)
  • 审计局网站建设管理创意设计广告