【问题标题】:Makefile - using math in a loopMakefile - 在循环中使用数学
【发布时间】:2020-12-16 13:26:49
【问题描述】:

我正在尝试制作一个循环。我想使用以下值: 10、20、30、40、50..

我设法获得了打印出 1,2,3,4,5 的功能:

main:
    for i in `seq 1 5`; do \
        echo $$i; \
    done;

但不知何故,简单的数学是行不通的。这失败了:

main:
    for i in `seq 1 5`; do \
        echo $$i*10; \
    done;

我还尝试在 $ 符号和 vrackets 中执行数学运算,但没有任何运气。希望您对此提出意见。

【问题讨论】:

  • 如果你想在 POSIX shell 中做简单的数学运算,你可以使用 expr:将你的 echo 更改为 expr $$i \* 10(不要忘记引用 * 否则 shell 会glob 扩展它,你必须在每个参数周围加上空格,你不能像上面那样将它们一起运行)。

标签: ubuntu makefile


【解决方案1】:

通过在第一行使用 SHELL 使其工作:

SHELL=/bin/bash
main:
    for i in `seq 1 5`; do \
        echo $$(( $$i*10 )); \
    done;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多