zoukankan      html  css  js  c++  java
  • Bash变量

    1、变量类型

    Bash变量有两种:局部变量和环境变量
    局部变量:局部变量的范围仅在创建它的Shell中有效
    环境变量:能为创建它的Shell及其派生子进程所用的变量,也经常被称为全局变量,一般约定环境变量为大些,它们是那些可以通过内置命令export导出的变量。

    2、变量命名

    变量名必须以字母或下划线开始,其余部分则可以由字符、数字或下划线构成。变量名中不能含有点字符.。
    大小写敏感
    给变量赋值时,不要在等号两边留下空格。格式为:
    #variable=value
    当变量值含有空格时,必须使用引号。
    #variable='my value'
    将变量设置为空,在等号后面跟一个换行符:
    #variable=

    3、创建变量

    1)直接赋值,注意=两边不能有空格
    #variable=value
     
    2)declare内置命令
    #declare variable=value
     
    declare : 不带参数将列出所有变量的值
    declare -f : 列出函数名及其定义
    declare -r: 声明只读变量
    declare -x: 将变量名导出到子Shell中
    declare -i: 将变量置为整型
    delare -F: 只列出函数名
     
    3)创建只读变量
    两种方式:readonly命令或declare -r
    #name=Tom
    #readonly name      //不能unset, 不能重新赋值
    #declare -r name=Tom   //不能unset, 不可以重新赋值  (ubuntu 12.04, 经实验,不行)
    #declare name=Perter   //不行
     
    值得注意的是,如果你不小心将变量设定为『只读』,通常得要注销再登入才能复原该变量的类型了! 

    4、清空变量

    除了只读变量外,局部变量和环境变量都可以通过unset命令清空,set命令将不显示被unset的变量
    #unset variable

    5、打印变量值

    echo $var
    printf $var
     
    如果是数组,则需要加上大括号
    echo ${str[1]}
    printf ${str[1]}

    6、其它

    export参数
    -f : 导出函数,而不是变量
    -n : 将已导出的全局变量转换为局部变量,该变量不会导出到子进程中
    -p : 显示所有的全局变量

    =-=-=-=-=
    Powered by Blogilo

  • 相关阅读:
    [Angularjs]$http.post与$.post
    [Bug]Unable to start process dotnet.exe
    [Node.js]Restful Api
    [Node.js]Express web框架
    [Node.js]web模块
    [Winform]使用winform制作远程桌面管理工具
    [Node.js]Domain模块
    [Asp.net web api]缓存
    [Node.js]DNS模块
    WEB传参调用EXE
  • 原文地址:https://www.cnblogs.com/pandachen/p/4264746.html
Copyright © 2011-2022 走看看