2010-07-30 76 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