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

    你可能感兴趣的文章
    nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
    查看>>
    nginx添加模块与https支持
    查看>>
    Nginx用户认证
    查看>>
    Nginx的Rewrite正则表达式,匹配非某单词
    查看>>
    Nginx的使用总结(一)
    查看>>
    Nginx的使用总结(二)
    查看>>
    Nginx的可视化神器nginx-gui的下载配置和使用
    查看>>
    Nginx的是什么?干什么用的?
    查看>>
    Nginx访问控制_登陆权限的控制(http_auth_basic_module)
    查看>>
    nginx负载均衡器处理session共享的几种方法(转)
    查看>>
    nginx负载均衡的5种策略(转载)
    查看>>
    nginx负载均衡的五种算法
    查看>>
    Nginx运维与实战(二)-Https配置
    查看>>
    Nginx配置ssl实现https
    查看>>
    Nginx配置TCP代理指南
    查看>>
    Nginx配置——不记录指定文件类型日志
    查看>>
    Nginx配置代理解决本地html进行ajax请求接口跨域问题
    查看>>
    Nginx配置参数中文说明
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置如何一键生成
    查看>>