Linux 真是一个'-';在TMPDIR中,您需要什么?

Linux 真是一个'-';在TMPDIR中,您需要什么?,linux,environment-variables,env,Linux,Environment Variables,Env,我最近看到一个示例,其中调用命令时,将以下选项传递给env: TMPDIR="${TMPDIR:-/tmp}" $TMPDIR中的-有什么作用?这是针对未指定版本的linux的。来自: ${parameter:-word} 如果参数为unset或null,则替换word的展开形式。否则,将替换参数的值 因此,如果它为空或未设置,则将TMPDIR设置为/tmp。如果省略:(例如${TMPDIR-/tmp},它只测试变量是否未按规定设置: 省略冒号只会导致对未设置的参数进行测试。换句话说,如果包含

我最近看到一个示例,其中调用命令时,将以下选项传递给
env

TMPDIR="${TMPDIR:-/tmp}"
$TMPDIR
中的
-
有什么作用?这是针对未指定版本的linux的。

来自:

${parameter:-word}
如果参数为unset或null,则替换word的展开形式。否则,将替换参数的值

因此,如果它为空或未设置,则将
TMPDIR
设置为
/tmp
。如果省略
(例如
${TMPDIR-/tmp}
,它只测试变量是否未按规定设置:

省略冒号只会导致对未设置的参数进行测试。换句话说,如果包含冒号,则运算符会测试两个参数是否存在以及其值是否为null;如果省略冒号,则运算符只测试是否存在