博客
关于我
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/

    你可能感兴趣的文章
    nodejs框架,原理,组件,核心,跟npm和vue的关系
    查看>>
    Nodejs概览: 思维导图、核心技术、应用场景
    查看>>
    nodejs模块——fs模块
    查看>>
    Nodejs模块、自定义模块、CommonJs的概念和使用
    查看>>
    nodejs生成多层目录和生成文件的通用方法
    查看>>
    nodejs端口被占用原因及解决方案
    查看>>
    Nodejs简介以及Windows上安装Nodejs
    查看>>
    nodejs系列之express
    查看>>
    nodejs系列之Koa2
    查看>>
    Nodejs连接mysql
    查看>>
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    NodeMCU教程 http请求获取Json中文乱码解决方案
    查看>>
    Nodemon 深入解析与使用
    查看>>
    NodeSession:高效且灵活的Node.js会话管理工具
    查看>>
    node~ http缓存
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>