shell 脚本编程

简介:

  • 用户通过shell向计算机发送指令的
  • 计算机通过shell给用户返回指令的执行结果

通过shell编程可以达到的效果

  • 提高工作效率
  • 可以实现自动化

需要学习的内容:

  • linux
  • shell的语法规范

编写shell的流程

  • 第一步:用vi/vim创建一个.sh的文件
  • 第二步:在文件中进行开发
  • 第三步:给文件赋予可执行权限
  • 第四步:执行脚本

本地变量:

  • 定义变量:Var_Name="Value" 变量名="值"
  • 引用变量:${Var_Name}
  • 撤销变量:unset Var_Name

局部变量:

  • 定义:local Var_Name="Value"
  • 在函数内部生效

环境变量:

  • 定义:export Var_Name="Value"
  • 常用的环境变量:
  • PS1
  • HOSTNAME
  • LANG

位置变量

  • 主要用于向脚本中传递参数
  • 表示方法:1,2,3,.....n
  • 举例说明: ./1.sh 1 6 34(传入的数据)

特殊变量:

  • $0脚本自身名称
  • $?上个命令的执行状态
  • $# 参数列表

变量命名要求:

  • 只能使用数字、字符和下划线组成
  • 不能以数子开头
  • 不能使用程序中的关键字

变量名的默认规则:

  • 见名知意
  • 自定义变量小写
  • 环境变量大写

补充环境变量:

  • set命名可以显示当前系统上所有的变量
  • export、env命名可以显示环境变量

重定向:

什么是重定向

复制代码
重定向就是"修改"指令发送给计算机的途径、计算机将指令执行结果返回个用户的途径

重定向的分类:

  • 输入重定向
  • 标准输出重定向
  • 错误输出重定向

输入:

  • 标准输入:键盘
  • 输入重定向:<

输出:

  • 标准输出:终端
  • 标准错误输出:终端
  • 标准输出重定向:> >>
  • 标准错误输出重定向:2> 2>>
  • 将结果保存到文件、屏蔽输出结果

特殊文件:

  • /dev/null
  • /dev/zero

管道符

  • |
  • 仅仅用于传递命令的执行结果另一个命令
相关推荐
洋不写bug3 小时前
网络编程(二)TCP回显服务器与客户端通信详解
服务器·网络·tcp/ip·tcp·网络通信·javaee·回显服务器
java_logo3 小时前
Docker 部署 DeepSeek Harness:轻松搭建局域网里的 AI Agent 平台
运维·docker·容器·ai agent·deepseek·轩辕镜像·deepseekharness
lisanmengmeng3 小时前
NRPE 添加命令(四)
linux·运维·服务器
想做小南娘,发现自己是女生喵3 小时前
i.MX6ULL嵌入式Linux入门学习文档
linux·运维·学习
FL16238631294 小时前
Siemens‑Automation‑License‑Manager & SIMATIC‑Automation‑Tool 下载安装教程
运维·服务器
落魄大学生之流水线上谋生计4 小时前
从 Jenkins 小白到企业级交付平台
运维·jenkins
此生决int4 小时前
Linux系列(04)——基础开发工具(上)软件包管理器、vim、gcc/g++
linux·服务器·vim
Huangjin007_4 小时前
【Linux 系统篇(二十六)】文件(三): 深入理解 “一切皆文件”、缓冲区
linux·运维·服务器
2401_868534784 小时前
2024年11月软考网规
运维·服务器
谢亮_vipxieliang4 小时前
Go 并发安全性保障
服务器·网络·golang