菜鸟学Linux - 变量基本规则

变量是一个很重要的概念,不管是bash脚本仍是其余语言,都是如此。在bash中,建立变量很简单,给变量一个名称便可。默认状况下,变量的值为空。咱们能够经过等号为变量赋值。须要注意的是,变量变量的值不是一个概念。当给定变量一个名称后,例如myvar,咱们须要经过$取得变量的值,即$myvar。使用echo输出变量的值。php

输出变量的值的格式为:echo $myvar 或者 echo ${myvar}linux

使用变量的时候,须要注意如下几点:bash

1. 给变量赋值的时候,若是值包含空格,须要用单引号或者双引号包起来,不然会引发错误spa

2. 给变量赋值的时候,若是使用单引号,那么单引号里面的变量就不会解析成真正的值。使用双引号则能够3d

3. 能够将一个命令执行的结果赋给一个变量。格式为:myvar=$(command) 或者 `comand`。值得注意的是,务必要将$()和${}的用途分开blog

4. 变量的扩增,即将新的内容增长到变量原来的值上去。格式为"$变量名称" 或 ${变量} 扩增内容进程

5. 使用export将变量变成环境变量,使得bash子进程可使用变量。请看下图:ci

6. 判断变量是否未设置,若是未设置则用-后面的内容赋值。语法为:var2=${var1-hellovar1}(若var1未设置,那么将hellovar1赋值给var2,不然将var1的值赋给var2)。须要注意的是,若是var1设置为空值了,那么也算是赋值了字符串

7. 判断变量是否未设置或者设置为空值,若是未设置或者设置为空值则用-后面的内容赋值。语法为:var2=${var1:-hellovar1}。以下图,注意与第六点区分开get

关于第六、7的更多用法与规则,参考下表(出自鸟哥Linux私房菜:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_2.php):

变量配置方式 str 没有配置 str 为空字符串 str 已配置非为空字符串
var=${str-expr} var=expr var= var=$str
var=${str:-expr} var=expr var=expr var=$str
var=${str+expr} var= var=expr var=expr
var=${str:+expr} var= var= var=expr
var=${str=expr} str=expr
var=expr
str 不变
var=
str 不变
var=$str
var=${str:=expr} str=expr
var=expr
str=expr
var=expr
str 不变
var=$str
var=${str?expr} expr 输出至 stderr var= var=$str
var=${str:?expr} expr 输出至 stderr expr 输出至 stderr var=$str
相关文章
相关标签/搜索