shell脚本中的变量

变量的定义

  • 定义本身
    变量就是内存一片区域的地址

  • 变量存在的意义
    命令无法操作一直变化的目标
    用一串固定的字符来表示不固定的目标可以解决此问题

shell脚本中变量的定义方法

  • 环境级别
    export a=1
    在环境关闭后变量失效

  • 用户级别
    vim ~/.bash_profile
    export a=1

  • 系统级别

  1. vim /etc/profile
    export a=2

  2. vim /etc/profile.d/westos.sh
    export b=3
    env 查看当前系统的变量

  • 变量名称
    “字符” “_” “数字”
    不能用数字开头
    一般用
    变量名称短全用大写字符
    变量名称长用_区分子类
    例如:WESTOS
    Westos_Linux
    westoS_Linux

变量的转译

  • 转译
    \ #转译单个字符
    “” #弱引用,批量转译个数字符 不能转译"" “`” “$” “!”
    ‘’ #强引用

  • 声明
    a=1
    echo $ab
    echo ${a}bshell脚本中的变量

  • 变量的数组
    a=(1 2 3 4 5)

echo ${a[0]} 输出数组的第一个
echo ${a[-1]} 输出数组的最后一个
echo ${a[*]} 输出数组的全部内容,整体输出
echo ${a[@]} 输出数组的所有内容,单个输出
echo ${a[@]:2:3} 输出数组的第3个数后的三个数(包括本身在内)
echo ${#a[@]} 输出该数组一共用多少个内容

shell脚本中的变量

Linux中命令的别名设定

  • alias xie=‘vim’ ##临时设定

  • vim ~/.bashrc
    alias xie=‘vim’ ##只针对与用户生效

  • vim /etc/bashrc ##针对系统所以用户生效
    alias xie=‘vim’
    文件的修改需要 source /etc/bashrc使文件生效

  • 如果要删除系统的别名不仅要删除文件中更改的内容,还要执行下面的命令
    unalias xie ##删除当前环境中的alias

用户环境变量的更改

  • 环境变量:
    用户在操作系统时使用到的命令搜索路径

  • 设定方式:

  1. ~/.bash_profile
    export PATH=$PATH:/mnt

  2. /etc/bash_profile
    export PATH=$PATH:/mnt

利用命令的执行结果设定变量

  • 直接利用命令执行结果
    $( ) | ` `          ##优先执行
  • 脚本中的传参
  1. 非交互模式

    $0 脚本本身
    $1 脚本后所输入的第一串字符(空格为分割符)
    $* 脚本后所有的字符
    [email protected] 脚本后所有的字符
    $# 脚本后所输入的字符串个数
  2. 交互模式传参

read WESTOS 对westos赋值
read -p “please input word:” 输出提示语
-s 隐藏输入内容

脚本函数

定义
程序的别名

  • 设定方式:
    WORD()
    {
    action1
    action2
    }

WORD 在脚本中就代表action1 action2这两个动作