"${host%%-*} 在配置文件中是什么意思?

What's does "${host%%-*} mean in configure file?

configure中有如下一行:

host_cpu="${host%%-*}"

可是这行怎么理解呢? host变量是怎么解析的?有没有这方面的教程?

它删除了 $host 变量值中破折号后的所有 material。双 %% 表示与后面的 -* 匹配的最长字符串。有关详细信息,请参阅 shell parameter expansion 上的 Bash 手册。

例如,给定:

host="preliminary-name.sub-domain.domain.com"
echo "${host%%-*}"

输出将是 preliminary。相比之下,单个 % 会产生 preliminary-name.sub.