Linux 文件权限的测试条件

Linux 文件权限的测试条件,linux,unix,shell,Linux,Unix,Shell,我正在学习shell脚本, 是否有任何方法可以测试操作,如检查文件的文件权限。。 喜欢 我知道一些类似的方法。使用权限通过“查找”命令搜索文件, 或者在“ls…| grep'r--r--r'smthg..任何你不想得到的许可 我有一些文件如何检查文件是否具有所需的权限\ 提前感谢..您可以使用 选项-r-x-w测试读取、执行和写入权限。 在shell脚本中,test命令通常输入为[ stat FILENAME --print=%A 查看man stat了解更多选项-您可以查看组/所有者/等。查

我正在学习shell脚本, 是否有任何方法可以测试操作,如检查文件的文件权限。。 喜欢 我知道一些类似的方法。使用权限通过“查找”命令搜索文件, 或者在“ls…| grep'r--r--r'smthg..任何你不想得到的许可

我有一些文件如何检查文件是否具有所需的权限\

提前感谢..

您可以使用

选项-r-x-w测试读取、执行和写入权限。 在shell脚本中,test命令通常输入为[

stat FILENAME --print=%A

查看
man stat
了解更多选项-您可以查看组/所有者/等。

查看下面的示例。您可以查看如何查找具有所需权限的文件。

您可以执行以下操作:

执行测试:

if [ -x "$file" ]; then
  #do_something
fi
写作测试:

if [ -w "$file" ]; then
  #do_something
fi
阅读测试:

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

不要指望解析
ls
的输出。如果有一个名为
-r--r--
?:)的文件只是一个例子……但是如果你真的想这样做的话。使用awk commadnd,你可以像权限列一样检查必填字段OK,但是如果其中一个文件名有嵌入的换行符呢?你是从你那里发短信问这个问题的吗你的手机?@Genibler:是啊,看来我错了。我只是在完成我的任务。但这不是正确的方式…在这种情况下如何做…你能建议…?@Dennis:不,从我的电脑上…?为什么…?谢谢这是我需要的…但我不知道我的unix服务器上发生了什么,它挂起了…&没有给出任何输出。无论如何谢谢..我会的在其他机器上使用它。这应该是选定的答案。如果[-r-w“$file”],我可以这样使用它吗?