温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

shell脚本规范与变量运用

发布时间:2020-07-11 03:17:57 来源:网络 阅读:235 作者:wx5d8ab22a0be5a 栏目:系统运维

前言
随着Linux系统在企业中应用的越来越多,服务器自动化管理也变得越来越重要。Linux服务器自动化维护工作中,除了计划任务的设置外,shell脚本的应用也是非常重要的一部分。
什么是shell脚本
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
shell脚本的应用场景:

  • 重复性操作
  • 批量事务处理
  • 自动化运维
  • 服务运行状态监控
  • 定时任务执行
  • ......
    注意!shell脚本必须是可执行文件(chmod +x ...)
    shell的作用——命令解释器,翻译官
    shell脚本规范与变量运用
    /bin/bash支撑shell脚本的运行
    Linux压缩内核放在/boot/目录下
    编写shell脚本代码
  • 使用vi文本编辑器
  • 每行一条Linux命令,按执行顺序一次编写
    执行脚本文件啊
    shell脚本规范与变量运用
    用source执行命令会切换路径执行,用sh 不会切换路径
    “ . / ” 的执行方式和sh一样
    shell脚本规范与变量运用
    shell脚本规范与变量运用
    重定向与管道操作
    交互式硬件设备
    标准输入:从该设备接收用户输入的数据
    标准输出:通过该设备向用户输出数据
    标准错误:通过该设备报告执行出错信息
    shell脚本规范与变量运用
    重定向操作
    shell脚本规范与变量运用
    管道操作符号" | "
    Shell变量的作用、类型
    变量的作用
    为灵活管理Linux系统提供特定参数,有两层意思
  • 变量名:使用固定的名称,由系统预设或用户定义
  • 变量值:能够根据用户设置、系统环境的变化而变化
    变量的类型

  • 自定义变量:由用户自己定义、修改和使用
  • 环境变量:由系统维护,用于设置工作环境
  • 位置变量:通过命令行给脚本程序传递参数
  • 预定义变量:Bash中内置的一类变量,不能直接修改
    自定义变量
    定义一个新的变量
    变量名以字母或下划线开头,区分大小写,建议全大写
    变量名=变量值(“=”赋予符号)
    shell脚本规范与变量运用
    查看变量的值,用“echo”命令

shell脚本规范与变量运用
shell脚本规范与变量运用
赋值时使用引号

  • 双引号:允许通过$符号引用其他变量值
  • 单引号:禁止引用其他变量值,$视为普通字符
  • 反撇号:命令替换,提取命令执行后的输出结果
    从键盘输入内容为变量赋值
    read [-p "提示信息"] 变量名

    shell脚本规范与变量运用
    shell脚本规范与变量运用

设置变量的作用范围,两种格式可以混合使用
格式1:export 变量名
格式2:export 变量名=变量值
整数变量的运算
expr 变量1 运算符 变量2 [运算符 变量3] ……
常用运算符

  • 加法运算:+
  • 减法运算:-
  • 乘法运算:*
  • 除法运算:/
  • 求模(取余)运算:%
    shell脚本规范与变量运用
    特殊的Shell变量
    环境变量
    由系统提前创建,用来设置用户的工作环境
    配置文件:/etc/profile、~/.bash_profile
    常见的环境变量:
  • PWD、PATH
  • USER、SHELL、HOME
    位置变量
  • 表示为$n,n为1~9之间的数字
    预定义变量
  • $#:命令行中位置变量的个数
  • $*:所有位置变量的内容
  • $?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
  • $0:当前执行的进程/程序名
    shell脚本规范与变量运用
    shell脚本规范与变量运用
    shell脚本规范与变量运用
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI