如果没有安装,如何绕过IncrediBuild控制台?

时间:2018-03-21 16:17:34

标签: linux bash continuous-integration incredibuild

我们的构建机器上运行了一些bash脚本,其中安装了IncrediBuild。 IncrediBuild的想法是利用网络中可用的所有核心来加速构建过程。

示例shell脚本:

...
ib_console cmake --build .

不应更改shell脚本。我想在没有ib_console的机器上运行脚本。是否有可能以某种方式模拟它或将调用转发给cmake?

2 个答案:

答案 0 :(得分:3)

将其放入.bashrc文件中:

if [ ! -f ´whereis ib_console´ ] then
    alias ib_console='$@'
fi

说明:

  • -f 检查ib_console二进制文件是否存在
  • $ @ 将所有参数合并为一个字符串(然后单独执行)

答案 1 :(得分:2)

@alex:别名适用于shell,但不适用于上面的shell脚本,因为别名不会在非交互式shell脚本中展开。

使用Why doesn't my Bash script recognize aliases?我可以修复它。

if ! [ -f 'whereis ib_console' ]; then
    ib_console()
    {
        echo "ib_console dummy: run '$@'..."
        $@
        echo "ib_console dummy: done"
    }
    export -f ib_console
fi

建议运行' exec bash'更新.bashrc后