我们的构建机器上运行了一些bash脚本,其中安装了IncrediBuild。 IncrediBuild的想法是利用网络中可用的所有核心来加速构建过程。
示例shell脚本:
...
ib_console cmake --build .
不应更改shell脚本。我想在没有ib_console的机器上运行脚本。是否有可能以某种方式模拟它或将调用转发给cmake?
答案 0 :(得分:3)
将其放入.bashrc
文件中:
if [ ! -f ´whereis ib_console´ ] then
alias ib_console='$@'
fi
说明:
答案 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后