6

makefile で "$${x%% *}" を見ましたが、これは sh で "${x%% *}" を意味します。なぜこのように書かれているのですか?

https://unix.stackexchange.com/questions/28994/how-can-a-makefile-detect-whether-a-command-is-available-in-the-local-machine

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

また、${x%% *}Googleで検索する方法は?

4

2 に答える 2

2

variableの値を左端のスペースに${x%% *}置き換え、その右側のすべてを削除します。x

http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.htmlを参照してください。

2番目の質問には答えがありません。

于 2013-05-07T08:18:07.237 に答える