小编典典

Make:命令失败后如何继续?

all

该命令$ make all会给出错误,例如rm: cannot remove '.lambda': No such file or directory它会停止。我希望它忽略 rm-not-found-errors。我怎样才能强制?

生成文件

all:
        make clean
        make .lambda
        make .lambda_t
        make .activity
        make .activity_t_lambda
clean:
        rm .lambda .lambda_t .activity .activity_t_lambda

.lambda:
        awk '{printf "%.4f \n", log(2)/log(2.71828183)/$$1}' t_year > .lambda

.lambda_t:
        paste .lambda t_year > .lambda_t

.activity:
        awk '{printf "%.4f \n", $$1*2.71828183^(-$$1*$$2)}' .lambda_t > .activity

.activity_t_lambda:
        paste .activity t_year .lambda  | sed -e 's@\t@\t\&\t@g' -e 's@$$@\t\\\\@g' | tee > .activity_t_lambda > ../RESULTS/currentActivity.tex

阅读 90

收藏
2022-08-02

共1个答案

小编典典

试试-i标志(或--ignore- errors)。顺便说一下,文档似乎提出了一种更强大的方法来实现这一点:

要忽略命令行中的错误,-请在行文本的开头(在初始制表符之后)写上 a。-在命令被传递到 shell 执行之前,将被丢弃。

例如,

clean:
  -rm -f *.o

rm即使无法删除文件,这也会导致继续。

所有示例都带有rm,但适用于您需要忽略来自 (ie mkdir) 的错误的任何其他命令。

2022-08-02