Shell脚本基础

   日期:2020-07-03     浏览:99    评论:0    
核心提示:Shell脚本介于操作系统与用户之间,充当 “命令解释器” 的角色通过 /etc/shells 文件可以了解系统支持的shell脚本的种类其中 /bin/bash 是默认shell脚本什么是Shell?简单来讲,只要将平时所用的命令按顺序保存到一个文本文件,然后添加可执行权限,这个文件就成为了一个shell脚本了例如:添加可执行权限直接运行脚本当然一个合格的shell脚本中应该遵循标准的脚本结构,能够输出友好的提示信息,让人更加容易读懂运行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 表示当前执行的脚本名称
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服