美文网首页
Bash变量基本规则

Bash变量基本规则

作者: 大聖Jonathan | 来源:发表于2017-03-02 17:27 被阅读0次

变量是一个很重要的概念,无论是bash脚本还是其他语言,都是如此。在bash中,创建变量很简单,给变量一个名称即可。默认情况下,变量的值为空。我们可以通过等号为变量赋值。需要注意的是,变量变量的值不是一个概念。当给定变量一个名称后,例如myvar,我们需要通过$取得变量的值,即$myvar。使用echo输出变量的值。

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

使用变量的时候,需要注意以下几点:

  1. 给变量赋值的时候,如果值包含空格,需要用单引号或者双引号包起来,否则会引起错误

  2. 给变量赋值的时候,如果使用单引号,那么单引号里面的变量就不会解析成真正的值。使用双引号则可以

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

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

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

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

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

关于第6、7的更多用法与规则,参考下表(出自鸟哥Linux私房菜)

变量配置方式 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

相关文章

  • Bash变量基本规则

    变量是一个很重要的概念,无论是bash脚本还是其他语言,都是如此。在bash中,创建变量很简单,给变量一个名称即可...

  • Shell-Bash变量与运算符

    1、Bash中变量定义的规则 说明: 变量名称,有字母,数字和下划线组成,但是不能以数字开头 在 Bash 中变量...

  • 一些shell 命令整理

    一些基本命令 Bash 编程-变量

  • Bash 基本运算和变量

    注意:变量尽量用双引号引起来对于值为非空的变量无所谓,对于值为空的变量,很可能出问题 一、expr 为内置命令,只...

  • Linux bash 入门 --转自:http://club.t

    BASH的基本语法 ·最简单的例子—— Hello World! ·关于输入、输出和错误输出 ·BASH中对变量的...

  • bash脚本编程-变量,变量类型

    bash变量类型: 环境变量,本地变量,位置变量,特殊变量。 本地变量: bash: VARNAME=value ...

  • 4、shell编程

    一、变量命名规则在Bash中,变量的默认类型都是字符串型二、变量分类1、用户自定义变量2、环境变量:存储跟操作系统...

  • Shell进阶脚本-内部变量

    内建变量 影响 Bash 脚本行为的变量 $BASH Bash程序的路径 $BASH_ENV 这个环境变量会指向一...

  • bash脚本内部变量

    bash脚本内部变量 $BASH bash的程序文件的路径,如/bin/bash $BASH_ENV 该环境变量保...

  • go 安装配置(一)

    基本 安装gobrew install go 查看go环境变量go ev 设置go环境变量vim .bash_pr...

网友评论

      本文标题:Bash变量基本规则

      本文链接:https://www.haomeiwen.com/subject/xqjkgttx.html