2011-01-28 62 views
5

DF -t NFS $目錄如何判斷(在上海)的目錄是否被安裝在NFS

返回兩行輸出,如果目錄是NFS掛載的一線,如果事實並非如此。

DF的某些版本給退出狀態1,如果它不是NFS安裝,但GNU的coreutils 5.3.0不...

if [ `df -t nfs . | wc -l` = 2 ]; 

感覺不雅和他的同事說,這不充分檢查錯誤。有一個更好的方法嗎?

+0

我試過了幾個選項,但你對我來說似乎仍然更優雅。你們的同事是否提到了這種方法會出現的錯誤? +1一個不錯的嘗試。 – 2011-01-28 16:48:57

+0

好的,我發現了一個問題。如果第一個輸出列非常長(例如`nfs_server:/ long/mount/point`),那麼`df`會將輸出分成兩行,最後是`wc -l = 3`。將解決方案更改爲`if [.... -gt 1]`可輕鬆解決問題。 – 2011-01-28 17:02:12

+0

@ShawnChin:如果你應用`--portability` /`-P`選項,它不會換行很長的行。非常適合機器加工。 (用`df(GNU coreutils)7.4`測試) – RobM 2011-05-23 09:58:02

回答

0

你總是可以檢查mtab中它使所有安裝的文件系統的記錄在一個平面文件,如果你使用strace的,看看這是所有DF做反正。我想你也可以使用/ proc/mounts,如果你在Linux中運行它。

相關問題