1

我遇到了一个shell脚本,其中定义了下面提到的脚本 -

test -f .rerunning
touch .rerunning

请让我知道上述unix命令的用途以及它们之间的区别?

4

1 回答 1

1

基本上,test是另一种调用if语句的方式。

因此,

test -f .rerunning

检查文件是否.rerunning存在。

线

touch .rerunning

更新文件的最后编辑时间.rerunning。如果它不存在,则创建它。

正如Sylvain DefresneShawn Chin所指出的那样,一行接一行没有任何内容&&或没有任何||意义。


您的评论更新:

是的|| 在那儿。test -f .rerunning || { touch .rerunning #Some code here } echo Another instance is currently running. Aborting. exit 1 你是说有 .rerunning 文件吗?

因为这是一个条件

A || B

如果A为真->不必分析B。如果A为假->检查B。

因此,它测试文件是否.rerunning存在。如果是这样,则什么都不做。如果没有,它会触摸它,执行一些代码

综上所述,主要思路一定是要有一个锁文件,避免一个程序多次执行。

于 2013-05-29T08:33:34.793 回答