![](/img/trans.png)
[英]What is the purpose of “ifeq (a,$(wildcard .a))” in makefile?
[英]what is the purpose of head, cat and awk in GNU makefile
我是Linux的新手,試圖了解遵循makefile語法的功能。 我知道諸如head或awk之類的不同命令,但無法確定以下腳本的作用。
頭-c $$(((0x100))/ dev / zero | 貓-$ <| xxd -g1 -c4 | awk'{print $$ 5 $$ 4 $$ 3 $$ 2}'> $ @
命令和開關的詳細說明將受到高度贊賞。
兩美元只是一個逃脫的美元符號 。
所以:
head -c $((0x100)) /dev/zero
0x100
為“ 256”,因此這將從/dev/zero
獲取前256個字節,從而產生無休止的NULL字符流 0x00
然后將其與第一個先決條件結合在一起。 -
是通過管道傳遞的stdin,並在該鏈接中說明了$<
,但這是一個makefile文件,而不是linux / shell文件)
cat - $<
然后將其通過管道傳輸到xxd
xxd -g1 -c4
它將以十六進制形式輸出cat
的結果,其中1位( -g1
)分隔八位位組,每行4個八位位組( -c4
)。 我可以想象這里的分隔符已經就位,所以awk可以做到這一點。
然后通過管道傳輸到awk
awk '{print $5$4$3$2}' > $@
按順序打印第5、4、3和2列,中間沒有字符,並將stdout重定向到目標規則的$@
文件名,這也是另一個makefile文件,不是linux / shell文件
我不知道為什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.