博客
关于我
shell脚本——shell编程规范与变量
阅读量:694 次
发布时间:2019-03-17

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

Shell脚本——Shell编程规范与变量

一、Shell脚本概述

1. Shell的概念

Shell脚本(Shell Script)是一种用于执行一系列命令的文本文件,将这些命令按顺序存储,便于批量操作或定时执行,主要应用于系统管理员的日常管理任务。

2. Shell的作用——“命令翻译器”

Shell作为连接系统内核和用户的桥梁,负责将用户输入的命令解释并转化为系统内核能够执行的操作,最后将执行结果反馈给用户。

3. Shell脚本的应用场景
  • 重复性操作:适合处理大量相同或相似的任务。
  • 交互性任务:涉及用户交互的应用。
  • 批量事务处理:处理需要大量文件或数据的任务。
  • 服务运行状态监控:定期检查系统运行状态。
  • 定时任务执行:通过crondisk定时启动脚本任务。

二、Shell编程规范

1. 用户登录Shell

默认登录Shell程序为/bin/bash,各类shell的内部指令和环境差异较大,具体特性需结合使用的shell具体情况。

2. Shell脚本的组成
  • 脚本宣言:使用#!/bin/bash等注明解释器。
  • 注释信息:以#开头的行为注释,不会被执行。
  • 可执行语句:如echo命令用作信息输出。
3. Shell脚本的执行
  • 通过命令执行
    • 绝对路径:/root/first.sh
    • 相对路径:./first.sh
  • 通过指定Shell解释脚本
    • 使用特定Shell:sh first.sh
    • 在当前目录中运行:. first.shsource first.sh
  • 三、管道

    1. 管道的使用场景

    将命令行的输出作为下一个命令的输入,实现命令组合。

    2. 常见管道格式
    命令1 | 命令2 | ... | 命令n

    四、重定向

    1. 重定向的文件类型
    • 标准输入(stdin):/dev/stdin
    • 标准输出(stdout):/dev/stdout
    • 标准错误输出(stderr):/dev/stderr
    2. 重定向操作符
    • >:将输出覆盖到指定文件。
    • >>:将输出追加到指定文件。
    • 2>:将错误输出覆盖到指定文件。
    • 2>>:将错误输出追加到指定文件。
    • >&:将标准输出与错误输出结合。
    • 2>&1:将错误输出与标准输出结合。

    五、Shell脚本变量

    1. 变量的作用

    变量用于存储系统或用户特定的参数,变量名由字母或下划线构成,区分大小写。

    2. 变量类型
  • 自定义变量:用户定义的变量,可随意修改。
  • 特殊变量
    • 环境变量:由系统维护,设置工作环境。
    • 只读变量:用户不可修改。
    • 位置变量:通过命令行传递参数。
    • 预定义变量:bash内置变量,不能直接修改。
  • 六、Shell脚本变量——自定义变量

    1. 定义变量
    变量名=变量值
    • 变量命名规则:以字母或下划线开头,区分大小写,建议使用全大写。
    • 示例:

    my_var="Hello, World!"

    ##### 2. 查看变量值使用`echo`命令查询:```bashecho $my_var
    3. 赋值技巧
    • 双引号:支持变量引用,$保留为字面字符。
    • 单引号$视为普通字符,不进行变量替换。
    • 反撇号:执行命令并提取输出结果。
    4. 从键盘读取输入
    • 方法一(带提示信息):
      read -p "请输入内容:" my_input
    • 方法二(无提示信息):
      read my_input
    5. 占位符

    使用占位符进行赋值,如$1代表第一条命令线参数。

    七、Shell脚本变量——特殊变量

    • 环境变量:如PATHHOME,由系统维护。
    • 位置变量:通过传递参数访问如$1$2
    • 预定义变量:如UIDGID,不能修改。

    转载地址:http://riphz.baihongyu.com/

    你可能感兴趣的文章
    PLSQL window操作
    查看>>
    plsql 存储过程 测试
    查看>>
    plsql 安装后database下拉没有东西
    查看>>
    PLSQL_Oracle PLSQL内置函数大全(概念)
    查看>>
    PLSQL_案例优化系列_体验逻辑结构如何影响SQL优化(案例3)
    查看>>
    PLSQL中INDEX BY TABLE的 DELETE操作
    查看>>
    plsql学习笔记---plsql相关概念,以及基础结构
    查看>>
    plsql数据库异常---plsql 登录后,提示数据库字符集(AL32UTF8)和客户端字符集(ZHS16GBK)不一致
    查看>>
    plsql查询乱码问题解决
    查看>>
    PLSQL的DBMS_GETLINE
    查看>>
    quartz简单demo,教你最快使用quartz
    查看>>
    PlutoSDR学习笔记(一)—函数API手册
    查看>>
    Quartz安装包中的15个example
    查看>>
    Quartz学习总结(2)——定时任务框架Quartz详解
    查看>>
    pm2 start命令中的json格式详解
    查看>>
    pm2启动报错
    查看>>
    pm2通过配置文件部署nodejs代码到服务器
    查看>>
    Unknown character set: 'utf8mb4'
    查看>>
    PML调用PDMS内核命令研究
    查看>>
    PMM安装-第一篇
    查看>>