<笔记> 变量的设置规则

  • 变量与变量的内容荣以一个等号=来连接
1
myname=Vbird
  • 等号两边不能直接接空格
1
myname = VBird 或 myname=VBird Tsai ❌
  • 变量名称只能是英文字母与数字,但是开头字符不能是数字
1
2myname=VBird ❌
  • 变量内容若有空格可使用双引号"或单引号'将变量内容结合起来,但:

  • 双引号内的特殊字符如$等,可以保有原本的特性

1
2
var='lang is $LANG'
echo $var // lang is zh_CN.UTF-8
  • 单引号内的特殊字符则仅为一般字符(纯文本)

    • 可用转义符\将特殊符号(如 [Enter] $ 空格 '等)变成一般字符
    1
    myname=VBird\ Tsai
    • 在一串命令的执行中,还需要借由其他额外的命令提供的信息时,可以使用反单引号`$(命令)
    1
    2
    version=$( uname -r )
    echo $version    // 3.10 .0-229.el7.x86-64
    • 若该变量为扩增变量内容时,则可用"$变量名称"${变量}累加内容
    1
    2
    PATH="$PATH":/home/bin
    PATH=${PATH}:/home/bin
    • 若该变量需要在其他子程序执行,则需要以export来使变量变成环境变量
    1
    export PATH
    • 通常大写字符为系统默认变量,自行设置变量可以使用小写字符,方便判断(非强制)

    • 取消变量的方法通常为使用unset:unset 变量名称

    1
    unset myname
  • 单引号与双引号的区别

    单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符,而不会有特殊符号。