Shell编程之变量

74 阅读2分钟

一、用户自定义变量

  1. Bash中变量默认的类型是字符串类型
  2. 用户自定义变量时,变量左右两边不能有空格
  3. 调用变量,在前面加,如声明x=5,使用是,如声明x=5,使用是5
  4. 叠加 x=123 x="$x"456 这时x的值是123456
  5. 查询所有的变量 set命令
    1. -u 执行过set -u后,如果再调用没有声明过的变量,使用会报错
  6. unset 删除变量 unset x
  • declare 声明变量类型
    • -:给变量声明类型属性
    • +:取消变量声明类型属性
    • -a:将变量声明为数组型
      • 定义数组有两种方式:
        • movie[0]=cls 加下标默认就是数组
        • declare -a movie[2]=live
      • 查看数组
        • echo ${movie} 查看数组第一个下标的值
        • echo ${movie[1]} 查看数组第二个下标的值
        • echo ${movie[*]} 查看数组所有的值
    • -i:将变量声明为整型
    • -x:将变量声明为环境变量
    • -r:将变量声明为只读变量 设置了就不能操作这个变量
    • -p:显示指定变量声明的类型

注意:用户自定义变量只在当前shell中生效

二,环境变量

  1. 设置环境变量 export x=1 或者先定义变量,在设置为环境变量 x=5 export x
  2. 查看环境变量 env
  3. 系统搜索命令的路径 PATH
  4. 新增一个PATH变量 PATH="$PATH":/root
  1. 修改PS1变量(更改命令提示符的信息) PS1='[\u@\t \w]$ '

image.png

  1. 环境变量配置文件:
    1. /etc/profile 对所有用户生效
    2. ~/.bash.profile 对单一用户生效

注意:环境变量在当前shell及其子shell中生效 source 配置文件 或者. 配置文件 一般改了环境变量需要重启或者注销。所以要执行source命令避免重新登录

三,位置参数变量

image.png

test.sh:

sum=((((1+$2))

echo $sum

执行:./test.sh 2 7

四,预定义变量

image.png

五,输出命令

1,echo -e 识别一些转移符

转义符如下:

image.png

2,打印时加颜色

echo -e "\e[1;31m 你好 \e[0m" \e[1;31m是开启颜色 \e[0m是关闭颜色

image.png

六,写脚本

1,脚本第一行要先写#!/bin/bash 声明这是一个脚本

2,执行时有两种方法

方法1:

    • 赋予权限 chmod 755 hello.sh
    • ./hello.sh

方法2:

  • bash hello.sh 通过bash调用执行脚本

七,当前语系查询

  1. locale
    1. LANG 查询系统主语系的变量
    2. LC_ALL 定义整体语系变量

八,提示输入 read

  1. 提示用户输入用read命令
    1. -p 提示信息,可以写一些提示用户输入的信息
    2. -t 等待用户输入的时间
    3. -s 不显示输入的内容
    4. -n 1 n后面加数字,代表输入多少个字就开始执行

九,数值运算expr或let

以下方法都可以进行数值运算

  1. dd=(expr(expr aa + $bb) +两边必须有空格
  2. ff=((((aa+$bb))
  3. gg=[[aa+$bb]

image.png

  1. 优先级1是最高的

十,变量测试

image.png

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 7 天,点击查看活动详情