linux变量

  • 变量的配置守则

  1. 变量与变量内容以一个等号『=』来连结,如下所示:
    『myname=VBird』

  2. 等号两边不能直接接空格符,如下所示为错误:
    『myname = VBird』或『myname=VBird Tsai』

  3. 变量名称只能是英文字母与数字,但是开头字符不能是数字,如下为错误:
    『2myname=VBird』

  4. 变量内容若有空格符可使用双引号『"』或单引号『'』将变量内容结合起来,但



  • 双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:
    『var="lang is $LANG"』则『echo $var』可得『lang is en_US』

  • 单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:
    『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』

可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)变成一般字符;在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号『`命令`』或 『$(命令)』。特别注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号! 例如想要取得核心版本的配置:『version=$(uname -r)』再『echo $version』可得『2.6.18-128.el5』若该变量为扩增变量内容时,则可用 "$变量名称" 或 ${变量} 累加内容,如下所示:『PATH="$PATH":/home/bin』若该变量需要在其他子程序运行,则需要以 export 来使变量变成环境变量:『export PATH』通常大写字符为系统默认变量,自行配置变量可以使用小写字符,方便判断 (纯粹依照使用者兴趣与嗜好) ;取消变量的方法为使用 unset :『unset 变量名称』例如取消 myname 的配置:『unset myname』
变量配置方式 说明
${变量#关键词}
${变量##关键词}
若变量内容从头开始的数据符合『关键词』,则将符合的最短数据删除
若变量内容从头开始的数据符合『关键词』,则将符合的最长数据删除
${变量%关键词}
${变量%%关键词}
若变量内容从尾向前的数据符合『关键词』,则将符合的最短数据删除
若变量内容从尾向前的数据符合『关键词』,则将符合的最长数据删除
${变量/旧字符串/新字符串}
${变量//旧字符串/新字符串}
若变量内容符合『旧字符串』则『第一个旧字符串会被新字符串取代』
若变量内容符合『旧字符串』则『全部的旧字符串会被新字符串取代』
变量配置方式 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


你可能感兴趣的:(linux变量)