2011-05-16 106 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] ]測試非空的文件。

  • 如果文件不爲空,請不要將其刪除。
  • 如果文件爲空,請刪除(空)文件。