2011-05-16 103 views
2

我审查教程“高级自动依存产生”发现一个这样的脚本:这个脚本是做什么的?

%.P : %.c 
    ....; [ -s [email protected] ] || rm -f [email protected] 

什么是目标的一部分吗?我知道我已经看到了这种语法: [...]||...之前在bash脚本,但我不记得它是如何工作的...

在此先感谢!

+0

P.S.如果我没记错的话$ @引用foo.P ... – 2011-05-16 22:06:25

回答

2

如果上述命令失败(即[),则执行以下命令(rm)。失败是一个非零返回码。

+0

好吧,但是如果我理解正确,'[-s $ @]'会检查foo.P是否存在...如果它不存在存在??我很困惑... – 2011-05-16 22:09:24

+1

它也检查它不是空的。也许它应该是空的。 – 2011-05-16 22:12:21

+0

啊,我明白了...... – 2011-05-16 22:13:25

2

测试[ -s [email protected] ]测试非空的文件。

  • 如果文件不为空,请不要将其删除。
  • 如果文件为空,请删除(空)文件。