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

管道符

  • |
  • 仅仅用于传递命令的执行结果另一个命令
相关推荐
serve the people19 小时前
python环境搭建 (十三) tenacity重试库
服务器·python·php
jake don20 小时前
GPU服务器搭建大模型指南
服务器·人工智能
江畔何人初20 小时前
pod的内部结构
linux·运维·云原生·容器·kubernetes
不做无法实现的梦~20 小时前
PX4编译环境配置和qgc配置安装教程(2)
linux·stm32
齐鲁大虾20 小时前
Linux下用什么编程语言方便开发B/S架构程序
linux·运维·架构
范纹杉想快点毕业20 小时前
状态机设计与嵌入式系统开发完整指南从面向过程到面向对象,从理论到实践的全面解析
linux·服务器·数据库·c++·算法·mongodb·mfc
三块钱079420 小时前
群晖docker部署Mattermost,对接openclaw
运维·docker·容器
博客-小覃21 小时前
内网穿透/端口映射之二层穿透访问”FTP共享文件“示例操作教程
运维·服务器·网络
峥嵘life21 小时前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
珠海西格21 小时前
光伏电站全景感知体系:数据采集与设备状态监测技术
大数据·运维·服务器·数据库·人工智能