Shell脚本基础

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 获取秒刻时间

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值