zoukankan      html  css  js  c++  java
  • shell变量相关知识

    环境变量和普通变量

    一、几个常用命令:

      1. set : 输出所有变量,包含全局变量和局部变量

      2. env : 只显示全局变量

      3. declare : 输出所有的变量,函数,整数和已经导出的变量

      4. unset : 消除本地变量和环境变量

      5. source /etc/profile : 加载环境变量,使环境变量生效

    二、普通变量定义赋值有三种方式:

      1. 变量名=value : 不加引号,值里有变量会被解析后再输

      2. 变量名='value' : 单引号,纯字符串显示

      3. 变量名="value" : 双引号,引号里的变量及命令会解析后输出

    三、变量名=$(命令) 

      把一个命令的结果作为变量的内容赋值,或者用反引号引起来(即tab键上面那个键输出的字符

      如:CMD=$(date +%F) :将当前日期(格式化为2018-10-24)赋值给变量CMD

    [root@hxjk_test_backend_services config]# CMD=$(date +%F)
    [root@hxjk_test_backend_services config]# echo $CMD
    2018-10-25
    [root@hxjk_test_backend_services config]# 
    

    四、$变量, ${变量}

      输出变量值

    五、shell中特殊位置参数变量

    [root@hxjk_test_backend_services test]# cat aa.sh
    echo "shell file name: $0"
    echo "first param: $1"
    echo "params number:$#"
    echo "all param:$*" 
    echo "all param2: $@"
    [root@hxjk_test_backend_services test]# sh aa.sh a b c
    shell file name: aa.sh
    first param: a
    params number:3
    all param:a b c
    all param2: a b c
    [root@hxjk_test_backend_services test]# 
    

    六、shell进程中的特殊状态变量

      1. $? : 获取执行上一个的执行状态返回值(0为成功,非0为不成功)

      2. $$ : 获取当前执行的shell脚步的进程号

      3. $! : 获取上一个再后台工作的进程的进程号

      4. $_ : 获取在此之前执行的命令或脚步的最后一个参数

    [root@hxjk_test_backend_services test]# ll
    total 8
    -rw-r--r--. 1 root root 119 Oct 24 20:21 aa.sh
    -rw-r--r--. 1 root root   8 Oct 25 17:30 bb.sh
    -rw-r--r--. 1 root root   0 Oct 24 14:49 cc.sh
    [root@hxjk_test_backend_services test]# echo $?
    0
    [root@hxjk_test_backend_services test]# lll
    -bash: lll: command not found
    [root@hxjk_test_backend_services test]# echo $?
    127
    [root@hxjk_test_backend_services test]# 
    
  • 相关阅读:
    【python】一个文件内容写入另一个
    【Linux】批量修改权限
    【Git】git add git commit
    赌博游戏
    输出斐波那契数列前20项,每输出5个数换行
    Java线程的几种可用状态
    Java创建线程的方式
    Java虚拟机
    判断对象oStringObject是否为String
    throw跟throws关键字
  • 原文地址:https://www.cnblogs.com/gexiaoshan/p/9846025.html
Copyright © 2011-2022 走看看