Shell脚本基础

    技术2022-07-11  138

    Shell脚本

    介于操作系统与用户之间,充当 “命令解释器” 的角色通过 /etc/shells 文件可以了解系统支持的shell脚本的种类其中 /bin/bash 是默认shell脚本 什么是Shell? 简单来讲,只要将平时所用的命令按顺序保存到一个文本文件,然后添加可执行权限,这个文件就成为了一个shell脚本了

    例如:

    添加可执行权限 直接运行脚本 当然一个合格的shell脚本中应该遵循标准的脚本结构,能够输出友好的提示信息,让人更加容易读懂

    运行shell脚本的方式:

    ./local.sh !必须由x权限 sh local.sh source local.sh

    管道 管道操作为不同命令之间提供了以一种机制 位于管道左侧的命令输出结果 将作为右侧命令的输入处理对象 基本格式如下

    cmd1 命令 1 | cmd2 命令 2 | cmd3 命令 3

    例如,需要提取跟分区 ‘’/’’ 的磁盘使用率信息,可以执行一下操作,其中需要用到df,grep,awk命令

    重定向

    标准输入:默认的设备键盘,文件编号0标准输出:默认的设备显示器,文件编号1标准错误:默认的设备显示器,文件编号2

    文件分别位于

    /dev/stdin/dev/stdout/dev/stderr

    什么是重定向? 在Linux系统维护中,可以改变输入,输出内容的方向,而不使用默认的标准输入,输出设备,这种操作称为 “重定向”

    输入 < 从指定文件中读取数据 输出 > 将输出结果保存在指定文件(覆盖) 输出 >> 将输出结果追加在指定文件(追加) 错误输出 2> 将错误信息保存在指定文件(覆盖) 错误输出 2>> 将错误信息追加在指定文件(追加) 混合输出 &> 将标准输出,标准错误一起保存在指定文件

    标准输入例如

    需要用 --stdin来识别标准输入

    标准输出例如

    错误重定向例如

    shell脚本变量

    作用

    shell变量用来存放系统和用户需要使用的特定参数

    常见的变量类型

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

    定义变量

    Product=weixin Version=6.0 查看引用变量值 echo $Product Weixin echo $Product $Version weixin 6.0

    赋值的特殊操作

    双引号 " 允许通过引用带$变量的值

    qq="qq 5.0" echo $qq qq 5.0

    单引号 任何字符均作为普通字符看待

    qq='qq $Version' echo $qq qq $Version

    反撇号 命令替换,提取命令输出的结果

    dd=`ls -lh /boot/` echo $dd ..............ls -lh /boot/ 结果

    read命令 和 export命令

    read 变量名

    全局变量

    export 变量名 export 变量名=变量值

    数值变量的运算 expr 变量1 运算符 变量2

    运算符号

    * 乘法

    / 除法

    % 取余数

    X=5 Y=4 expr $X + $Y 9 expr $X + $Y 20

    环境变量 常见的环境变量 env 可以查看 预定义变量 常用的几个预定义含义

    $# 表示命令行中位置参数的个数$* 表示所有位置参数的内容$? 表示前一条命令执行后的返回状态$0 表示当前执行的脚本名称

    date+%s 获取秒刻时间

    Processed: 0.011, SQL: 9