簡體   English   中英

如何在Makefile中運行子Shell腳本?

[英]How to run sub Shell script in Makefile?

我想執行Shell命令,但是我不知道如何在我的Makefile中正確執行sub bash命令

import-bd:
    @while ! nc -z $(make ips | awk '/mysql/ { print $2 }') 3306; do \
        sleep 1 \
    done
    ...

謝謝你的幫助 !

您需要引用$並添加;

import-bd:
    @while ! nc -z $$(make ips | awk '/mysql/ { print $$2 }') 3306; do \
        sleep 1; \
    done

當make看到一個$ ,它將嘗試進行變量擴展。 通過編寫$$ ,make將單個$傳遞給awk(或更准確地說,將單​​個$傳遞給調用awk SHELL)。 另外,由於make會刪除換行符,因此需要在sleep 1后使用分號。

sleep 1后您缺少分號sleep 1
還要先解析此行,然后再進行bash。 您需要用兩美元逃脫美元。

import-bd:
    @while ! nc -z $$(make ips | awk '/mysql/ { print $$2 }') 3306; do \
        sleep 1; \
    done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM