您的位置:首页 > 运维架构 > Linux

linux基础shell脚本语句入门总结

2020-04-20 14:14 483 查看

shell脚本

  • 定义:以文件形式存放批量的linux命令集合,该文件能够被shell解释执行,这种文件就是shell脚本程序
  • 通常由一段linux命令,shell命令,控制语句以及注释语句构成
  • shell脚本语句的编写
    shell脚本是纯文本文件,可以使用任何文本编辑器编写
    shell脚本通常以.sh作为后缀名

1. shell程序

  • 第一行:指定用哪个程序来编译和执行脚本
    #!/bin/bash #!/bin/sh
  • 注释行:使用(#)进行注释

2. shell脚本变量

2.1 变量命名
  • 变量必须以字母或下划线开头,后面可以跟字母,数字或下划线
  • 变量名关于大小写敏感
2.2 变量类型
  • 根据变量的作用域,变量可以分为本地变量和环境变量
  • 本地变量只在创建他们的shell程序中可用,而环境变量在shell中的所有用户进程中可用,也称全局变量
2.3 变量赋值
  • 等号两边不能有空格
  • 如果要给变量赋空值,可以在等号后面跟一个换行符
2.4 显示变量的值
  • echo $variable echo ${variable}
2.5 清除变量
  • unset variable
2.6 显示所有变量
  • set
    注:环境变量成为全局变量,习惯需要大写
    注意:可被所有shell环境下访问
    如果父shell进程中产生了子shell进程,则环境变量可被"继承"并复制

3. 位置参量

  • 位置参量是一种特殊的内置变量,被shell脚本用来从命令行接受参数,或被函数用来保运传递给它的参数
  • 执行shell脚本时,用户可以用过命令行想脚本传递信息,跟在脚本名后面的用空格隔开的每个字符串都称为位置参量
  • 在脚本中使用这些参数时,需通过位置参数来引用 例如$1表示第一个参数,2表示第二个参数,第10个位置参数需要2表示第二个参数,第10个位置参数需要2表示第二个参数,第10个位置参数需要{10}来访问

4. $符号相关用法

$0 当前脚本的文件名
$1-9 第1个到第9个位置参数
${10} 第10个位置参数
$# 位置参数的个数
$* 以单字符串显示所有位置参量
${10} 第10个位置参数
$$ 脚本运行的当前进程号
$! 最后一个后台运行的进程的进程号
$? 显示前面最后一个命令的退出状态,0表示没有错误,其他表示值表示有错误

5. 退出码

  • 任何命令进行时都将会返回一个退出状态
  • 查看命令echo $?
  • 应用中同城会在关键步骤后判定$?,用来确认关键步骤执行是否正确,尤其在调度西永里需要监控sh返回码
  • shell脚本的返回码取决于最后一个命令的返回码
  • 程序控制返回码:exit N
    退出状态0成功,无错误
    退出状态大于0.失败,某处有错误

6. 数组

  • 数组定义:
    arr=(math english chinese)
  • 数组初始化
    同上
  • 数据引用
    引用变量:arr[0]数组个数:{arr[0]} 数组个数:arr[0]数组个数:{#arr[]}
    所有元素:${arr[]}
  • 数组赋值:
    arr[0]=chemical

7. date命令

  • date显示系统时间
    date +%Y-%m-%d 年-月-日
    date +%H:%M
  • 利用date指令来取得所需要的档名

8. cal命令

  • 查看日历信息
    cal 年
    cal [month][year] eg:cal 10 2009

9. 判断

1.关于某个文档名判断
-e : 该档名是否存在
-f : 该档名是否存在且为档案(file)
-d : 该文件名是否存在且为目录(directory)
2.关于文档权限侦测
-r : 侦测该文档是否具有可读的权限
-w : 侦测该文档是否具有可写的权限
-x : 侦测该文档是否具有可执行的权限

3.关于两个整数之间的判定

10. if判断

11. for循环

11. while循环

  • 点赞
  • 收藏
  • 分享
  • 文章举报
小白逆袭记 发布了39 篇原创文章 · 获赞 1 · 访问量 757 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: