2010-07-30 64 views
3

我正在學習殼scriptnig, 有沒有什麼辦法可以測試就像在一個文件檢查文件權限.. 像... 操作我知道一些喜歡的方式。通過查找命令使用權限, 或在「ls ... | grep'r - r - r'smthg搜索該文件..不管你想要什麼權限測試條件上的文件權限

我有一些文件如何檢查是否文件所要求的權限或不..?\

在此先感謝..

+1

不計解析'ls'的輸出。如果有一個名爲'-r - r - r - '的文件會怎麼樣? :) – 2010-07-30 06:48:24

+0

這只是一個例子......但如果你真的想這樣做。 使用awk commadnd你可以檢查所需的字段只有在權限列 – 2010-07-30 07:00:07

+0

好吧,但如果其中一個文件名有嵌入換行符? – 2010-07-30 08:41:44

回答

4

你可以這樣做:

測試執行:

if [ -x "$file" ]; then 
    #do_something 
fi 

測試寫作:

if [ -w "$file" ]; then 
    #do_something 
fi 

測試閱讀:

if [ -r "$file" ]; then 
    #do_something 
fi 
+0

如果[-r -w「$ file」]能用這種方法嗎? – 2011-11-14 08:49:51

0

你可以使用test

選項-r -x -w測試讀取,執行和寫入權限。 在shell腳本中,測試命令通常以[

2
stat FILENAME --print=%A 

查看man stat更多選項 - 您可以檢查組/所有者/等。

+0

謝謝這就是我所需要的......但不知道我的unix服務器上發生了什麼事情,它掛着..&不給任何輸出。 謝謝任何​​方式..我會嘗試在其他一些機器上。 – 2010-07-30 07:16:27

+0

這應該是選定的答案。 – 2015-05-25 12:02:24