• Linux之shell编程基础


    一、变量

        变量在shell中分为:本地变量、环境变量、位置参数;

      本地变量:仅可在用户当前shell生命期的脚本中使用的变量,本地变量随着shell进程的消亡而无效,本地变量在新启动的shell中依旧无效,类似于c、c++中的局部变量的概念;

      环境变量:适用于所有登录进程所产生的子进程;

      位置参数:用于向shell脚本提供传递参数,它是只读的;

        变量是某个值的名称,引用变量值就称为:变量替换,$符号是变量替换符号,如variable是变量名,那么,$variable就是表示变量的值;

      variable=value  #切记:等号两边不能出现空格

      ${variable=value}  #同上

      示例如下:

        var1="hello world"

        var2="I say"

        var3="we are saying $var1"    #ok

      变量的清除:unset命令

        unset 变量名  

      unset var之后,echo  $var ,结果显示空白行,这表示var变量没有初始化;

    变量赋值的模式:

      var=value  #注意:等号两边不能有空格

     1 1、变量已初始化情况
     2 root@222-132-16-50:~/cp/sh# colour="reb"
     3 root@222-132-16-50:~/cp/sh# echo "is ${colour+"blue"}"
     4 is blue
     5 root@222-132-16-50:~/cp/sh# echo $colour
     6 reb
     7 root@222-132-16-50:~/cp/sh# unset colour
     8 2、变量未被初始化情况, ":=" 和":-" 对已初始化的变量操作,无作用
     9 root@222-132-16-50:~/cp/sh# unset colour
    10 root@222-132-16-50:~/cp/sh# echo $colour
    11 
    12 root@222-132-16-50:~/cp/sh# echo "is ${colour:="red"}"
    13 is red
    14 root@222-132-16-50:~/cp/sh# echo $colour
    15 red
    16 root@222-132-16-50:~/cp/sh# unset colour
    17 root@222-132-16-50:~/cp/sh# echo "is ${colour:-"red"}"
    18 is red
    19 root@222-132-16-50:~/cp/sh# echo $colour
    20 
    21 root@222-132-16-50:~/cp/sh# 

      

  • 相关阅读:
    python实战===教你用微信每天给女朋友说晚安
    [go]beego获取参数/返回参数
    [go]os.Open方法源码
    [go]从os.Stdin探究文件类源码
    [svc]linux中的文件描述符(file descriptor)和文件
    [net]tcp和udp&socket
    [django]update_or_create使用场景
    [sh]shell语法小结
    [drf]访问文档出现错误'AutoSchema' object has no attribute 'get_link'
    [py]python操作zookeeper
  • 原文地址:https://www.cnblogs.com/chris-cp/p/4215839.html
Copyright © 2020-2023  润新知