shell脚本

  • shell脚本以#!/bin/bash开头
  • shell的变量
    • Linux的变量分为:系统变量和用户自定义变量
    • 系统变量:$HOME $PWD $USER等等
      • 比如:echo $HOME…
    • 显示当前shell中所有变量:set
  • shell变量的定义
    • 基本语法:
        1. 定义变量:变量=值
        1. 撤销变量:unset 变量
        1. 声明静态变量:readonly 变量 注意:不能unset
  • 定义变量的规则
      1. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头
      1. 等号两侧不能有空格
      1. 变量名称一般为大写
  • 将linux命令的返回值赋给变量
    • A=ls -la `为反引号
    • A=$(la -la) 括号等价于``
  • 设置环境变量
  • 基本语法
    1. export 变量名=变量值 (将shell变量输出为环境变量)
    1. source 配置文件 (让修改后的配置信息立即生效)
    1. echo $变量名 (查询环境变量的值)
    • 注意:在输出环境变量之前,需要让其生效source /etc/profile
  • 位置参数变量
    • 介绍
      • 当我们执行一个脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变脸,比如:./myshell.sh 100 200,这个就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息
      • 基本语法
        • $n n为数字,$0代表命令本身,$1- 9 代表第一到第九个参数,十及十以上的参数,十以上的参数需要用大括号包含,如 9代表第一到第九个参数,十及十以上的参数,十以上的参数需要用大括号包含,如 9代表第一到第九个参数,十及十以上的参数,十以上的参数需要用大括号包含,如{10}
        • ∗ 这个变量代表命令行中的所有的参数, * 这个变量代表命令行中的所有的参数, 这个变量代表命令行中的所有的参数,*把所有的参数看成一个整体
        • @ 这个变量也代表命令行中的所有参数,不过 @ 这个变量也代表命令行中的所有参数,不过 @这个变量也代表命令行中的所有参数,不过@把每个参数区分对待
        • $# 这个变量代表命令行中所有参数的个数
  • 预定义变量
    • 就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
    • 基本语法
      • $$ 当前进程的进程号
      • $! 后台运行的最后一个进程的进程号(PID)
      • $? 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。
  • 在一个shell脚本中以后台的形式运行某个shell脚本 eg:./myshell.sh &
  • 运算符
    • 基本语法
        1. ( ( 运算式 ) ) 或 " ((运算式))或" ((运算式))"[运算式]”
        1. expr m + n
        • 注意:expr 运算符间要有空格
      • 3)expr m - n
      • 4)expr * / % 乘 除 取余

你可能感兴趣的:(Linux,linux,bash,运维)