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

管道符

  • |
  • 仅仅用于传递命令的执行结果另一个命令
相关推荐
水月wwww4 分钟前
操作系统——进程管理
linux·操作系统·vim·进程·进程调度
2501_9159090631 分钟前
iOS 混淆实战,多工具组合完成 IPA 混淆与加固(源码 + 成品 + 运维一体化方案)
android·运维·ios·小程序·uni-app·iphone·webview
我科绝伦(Huanhuan Zhou)31 分钟前
分享一个可以一键制作在线yum源的脚本
linux·运维
爱宇阳1 小时前
禅道社区版 Docker Compose 服务迁移教程
运维·docker·容器
Paper_Love1 小时前
Linux-查看硬件接口软件占用
linux·运维·服务器
wydaicls1 小时前
Linux 系统下 ZONE 区域的划分
linux·运维·服务器
带土11 小时前
17. Linux wc命令
linux
螺旋小蜗1 小时前
Linux Cgroup与Device Whitelist详解
linux·运维·服务器·cgroup
染指11101 小时前
36.渗透-端口
linux·运维·服务器
takashi_void2 小时前
如何在本地部署大语言模型(Windows,Mac,Linux)三系统教程
linux·人工智能·windows·macos·语言模型·nlp