bash中的:=是什么意思?

sh/bash/dash/ksh/zsh等Shell脚本
回复
wwangzhihang
帖子: 54
注册时间: 2006-06-23 7:43
联系:

bash中的:=是什么意思?

#1

帖子 wwangzhihang » 2009-05-20 9:54

代码: 全选

# set temporary file name
: ${TMPDIR:=$TEMPDIR}
: ${TMPDIR:=$TMP}
: ${TMPDIR:=/tmp}
这里面的:和:=分别是什么意思?谢谢。
此段代码想干什么呢?
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

Re: bash中的:=是什么意思?

#2

帖子 yaoms » 2009-05-20 9:59

bash(1) 写了: ${parameter:=word}
Assign Default Values. If parameter is unset or null, the
expansion of word is assigned to parameter. The value of
parameter is then substituted. Positional parameters and spe‐
cial parameters may not be assigned to in this way.
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

Re: bash中的:=是什么意思?

#3

帖子 yaoms » 2009-05-20 10:00

就是给一个默认值。如果前面的是一个未定义变量,就让他等于后面的那个值。
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
wwangzhihang
帖子: 54
注册时间: 2006-06-23 7:43
联系:

Re: bash中的:=是什么意思?

#4

帖子 wwangzhihang » 2009-05-20 10:10

yaoms 写了:
bash(1) 写了: ${parameter:=word}
Assign Default Values. If parameter is unset or null, the
expansion of word is assigned to parameter. The value of
parameter is then substituted. Positional parameters and spe‐
cial parameters may not be assigned to in this way.
谢谢
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: bash中的:=是什么意思?

#5

帖子 xiooli » 2009-05-20 10:21

哇,学习了,我一直用${pram:-value}呢,不知道这两个有什么区别?
回复