博客
关于我
Shell编程规范与变量
阅读量:378 次
发布时间:2019-03-05

本文共 1399 字,大约阅读时间需要 4 分钟。

Shell编程规范与变量

Shell脚本概述

Shell是一种特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色。它负责接收用户输入的操作指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。Bash(/bin/bash)是目前大多数 Linux 版本采用的默认 Shell,各 Shell 之间在内部指令和运行环境上可能存在差异。

Shell的作用

Shell的主要作用是作为命令解释器,充当用户与系统之间的桥梁。它的核心功能包括:

  • 介于系统内核与用户之间,负责解释命令行输入
  • 将用户输入的命令转化为系统内核能够理解的操作
  • 输出执行结果或错误信息
  • Shell脚本的概念

    Shell脚本是一种通过保存并执行一系列命令的文本文件来实现的自动化操作。其主要特点包括:

  • 脚本文件需要赋予可执行权限
  • 可以结合 Shell 的控制语句,实现复杂操作
  • Shell脚本的应用场景

    Shell脚本广泛应用于以下场景:

  • 重复性操作
  • 交互式任务
  • 批量事务处理
  • 服务运行状态监控
  • 定时任务执行
  • Shell脚本的构成与编写

  • 脚本声明:第一行为“#!/bin/bash”,表示脚本使用 Bash 解释。
  • 注释信息:以“#”开头的语句为注释,不会被执行。
  • 可执行语句:如 echo 命令用于输出字符串。
  • Shell脚本的执行

  • 通过命令赋予可执行权限

    • 绝对路径:chmod +x /root/first.sh
    • 相对路径:chmod +x ./first.sh
  • 指定 Shell 解释脚本

    • 使用 sh 命令:sh first.sh
    • 使用 source 命令:source first.sh. first.sh
  • 重定向和管道操作

  • 标准输入、输出和错误

    • 标准输入/dev/stdin
    • 标准输出/dev/stdout
    • 标准错误/dev/stderr
  • 重定向操作

    • >:将标准输出保存到指定文件
    • >>:将标准输出追加到指定文件
    • 2>:将标准错误保存到指定文件
    • 2>>:将标准错误追加到指定文件
    • &>:将标准输出和标准错误混合保存
    • 2>&1:将标准错误重定向到标准输出
  • 管道操作

    • 使用 | 将命令的输出作为下一个命令的输入
    • 示例:ps aux | wc -l
  • Shell变量的作用与分类

  • 变量的作用

    • 用于存储系统和用户需要使用的特定参数或值
  • 变量分类

    • 自定义变量:由用户定义和修改
    • 环境变量:由系统维护,设置工作环境
    • 位置变量:通过命令行传递参数
    • 预定义变量:Bash 内置变量,不能直接修改
  • 自定义变量

  • 变量赋值

    • 单引号:$ 不被解析
    • 双引号:$ 可以解析其他变量
    • 反撇号:用于命令替换
  • 从键盘获取输入

    • 使用 read 命令:read -p "提示信息" 变量名
  • 变量作用范围

    • 局部变量:只在当前 Shell 环境中有效
    • 全局变量:通过 export 命令导出
  • 整数运算

    • 使用 expr$(()) 计算
  • 浮点运算

    • 使用 bcawk 进行浮点运算
  • 特殊的 Shell 变量

  • 环境变量

    • 常用环境变量:USERHOMEPATHPWDLANG
  • 只读变量

    • 使用 readonly 命令设置只读变量
  • 位置变量

    • $n:表示命令或脚本的参数,$0 表示脚本名称
  • 预定义变量

    • $*$@:处理命令或脚本参数
    • $#:表示参数个数
    • $?:表示前一条命令的返回状态
  • 转载地址:http://kwag.baihongyu.com/

    你可能感兴趣的文章
    Python + selenium自动化生成测试报告!
    查看>>
    Python - C 嵌入式分段错误
    查看>>
    Python - DM 一个用户 Discord 机器人
    查看>>
    python - Flask 基础 - 蓝图( Blueprint )(2)
    查看>>
    python - os.getenv 和 os.environ 看不到我的 bash shell 的环境变量
    查看>>
    Python - while循环
    查看>>
    Python - “if“中的逻辑评估顺序陈述
    查看>>
    Python - 从 Google Cloud Storage 下载整个目录
    查看>>
    Python - 使用 pandas 格式化 Excel 单元格
    查看>>
    python - 列表
    查看>>
    Python - 可用时从串行端口数据逐行读取到列表中
    查看>>
    Python - 在应用程序中显示 Web 浏览器/iframe
    查看>>
    Python - 如何使用管道执行shell命令,但没有‘shell = True‘?
    查看>>
    Python - 如何使这个不可腌制的对象可腌制?
    查看>>
    Python - 如何在 Windows 10 上完全卸载 Anaconda?
    查看>>
    python - 如何并行化python numpy中的总和计算?
    查看>>
    Python - 如何解析 xml 响应并将元素值存储在变量中?
    查看>>
    Python - 安装了扩展的远程 Webdriver
    查看>>
    python - 将字符串中的日期与今天的日期进行比较
    查看>>
    python - 数据描述符(class 内置 get/set/delete方法 )
    查看>>