给shell变量赋值

时间:2019-04-16 23:59:04  来源:igfitidea点击:

在脚本中创建和设置变量相当简单。可以使用下面的语法:

varName=someValue

值someValue被赋值给变量varName,。如果没有给出someValue,则为变量分配空字符串。

注意在为变量赋值时,等号两边都不能添加空格。

下面是错误的赋值方式, 这会导致command not found或者变量值为空:

no  =10
no=  10
no  =  10

NULL变量

NULL变量是在定义时没有值的变量
可以像下面这样定义一个NULL变量:

vech=
vech=""

如何显示一个shell变量的值

可以使用echo $varName或者 echo ${varName}来显示变量的值:

echo "$varName"

或者

echo "${varName}"

或者

printf "${varName}"

或者

printf "%s\n" ${varName}

创建一个名为hello的变量,并给它一个值word:

hello="world"
printf "hello %s\n" $hello

示例

保存当前时间到自定义的变量NOW中

NOW=$(date)
echo $NOW

在脚本中定义备份的路径,保存到自定义变量中

BACKUP="/nas05"
echo "备份文件到 $BACKUP/$USERNAME"

有时使用变量是比如使用大括号,${varName} 这样可以避免产生歧义。
比如 echo "MySHELL=>$SHELLCode<="将输出 MySHELL=><=
shell将尝试查找一个名为SHELLCode的变量,而不是**$SHELL**变量。为了避免这种歧义,使用${varName}语法:
echo "MySHELL=>${SHELL}Code<="

shell如何删除变量

在程序执行期间,可以使用unset命令删除shell变量。

vech=Bus
echo $vech
unset vech
echo $vech