为什么在这个bash脚本中使用了$符号

Sta*_*ann 4 linux bash shell

我正在寻找Fedora sysV init脚本示例,它是这样的:

#...some code
 start() {
    [ -x $exec ] || exit 5
    [ -f $config ] || exit 6
    echo -n $"Starting $prog: "
    # if not running, start it up here, usually something like "daemon $exec"
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
#...some more code....
Run Code Online (Sandbox Code Playgroud)

在这一行中第一个美元符号的原因是什么,因为看起来如果没有它,脚本将完美地工作 - 它不会吗?

echo -n $"Starting $prog: "
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 6

$"..."是一个扩展,允许您在bash脚本中使用gettext i18n.