2013-12-12 102 views

回答

15

該行是爲了防止用戶採購腳本。

腳本運行時(不是來源但運行),腳本將繼續下一行,直到文件結束。

當腳本來源時,腳本將會返回並且什麼也不做。

+0

有趣。這是防止用戶採購腳本的可行方法嗎? – pfnuesel

+1

+1:很高興知道。謝謝你的回答,並回答OP的問題!有用。 –

5

return的頂部應該從bash函數返回值。

當完全一樣在你的榜樣,但沒有&> /dev/null使用,它是無效的使用,因爲return不屬於bash函數的身體,將打印:

line 2: return: can only `return' from a function or sourced script 

然而,某人決定隱瞞錯誤信息通過管道輸出到/dev/null

換句話說,這一切都沒有多大意義。

+0

謝謝。你已經清楚地解釋了「返回」的功能,但@ user3088572解釋了爲什麼它被用在某個腳本的頂部,這是這個問題的要點。 – mailzyok

0

這會丟棄程序的不需要的輸出。請查看this link>,2>&>之間的差異在那裏很好解釋。

引用:

命令&>的/ dev/null的

此語法重定向標準輸出和錯誤輸出消息到/ dev/null的在那裏它被殼忽略。