这个shell脚本片段有什么作用?

时间:2012-02-25 14:56:04

标签: shell

我正在尝试阅读以前没有使用过的shell脚本......这段代码做了什么?

# Setup some command defaults (can be overriden by the config)
MYSQL=${MYSQL:-`which mysql`}
MYSQLDUMP=${MYSQLDUMP:-`which mysqldump`}
PHP=${PHP:-`which php`}

我感觉它确定了php,mysql和mysqldump的位置,如果变量尚未定义的话。这是对的吗?

1 个答案:

答案 0 :(得分:2)

如果变量未定义或为空字符串,则将其替换为which命令的结果,以便将其用作默认值。

旁注,您可以使用type -P mysqlhash mysql代替which mysql使其更加健壮,因为which的实施可能会有所不同。

请参阅http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.htmlCheck if a program exists from a Bash script