我刚看到一个 makefile 文件中 "$${x%% *}" 的表达式,这在 sh 中表示 "${x%% *}"。为什么要以这种方式编写呢?
determine_sum = \
sum=; \
for x in sha1sum sha1 shasum 'openssl dgst -sha1'; do \
if type "$${x%% *}" >/dev/null 2>/dev/null; then sum=$$x; break; fi; \
done; \
if [ -z "$$sum" ]; then echo 1>&2 "Unable to find a SHA1 utility"; exit 2; fi
checksums.dat: FORCE
$(determine_sum); \
$$sum *.org
同时,如何在Google中搜索
${x%% *}
?