-4

我需要帮助编写脚本。

要求是:

将文件或目录(/tmp/somefile 或 /home/username/somefile)的绝对引用作为参数并显示以下内容的脚本:

  1. 文件是文件还是目录?
  2. 我对文件/目录有读取权限吗?
  3. 我对文件/目录有写权限吗?
  4. 文件是否可执行?
  5. 文件的权限 - “ls -l”中的 rwx 内容将起作用。

如果您有任何我可以阅读的好资源,请随时发布它们,在此先感谢。

4

1 回答 1

1

由于您到目前为止还没有展示您尝试过的内容,因此我不会直接回答您(只是因为我不知道这是家庭作业还是您还没有尝试过)。

您会发现bash 手册页中的“条件表达式”部分很有用。

例如,在测试命令列表下:

-r file
      True if file exists and is readable.

if在声明中应用它:

[me@home]$ if [ -r $HOME ]; then echo "readable"; else echo "not readable"; fi
readable
[me@home]$ if [ -r /root ]; then echo "readable"; else echo "not readable"; fi
not readable

这应该回答您的第二个问题,即“我是否具有文件/目录的读取权限?”。

有类似的标志可以测试“是目录”、“可写”、“可执行”等,它们回答了您的大多数其他问题(除了最后一个问题)。

对于您的最后一个问题,这是从以下位置提取权限列的一种方法ls -l

[me@home]$ ls -l $HOME/.bashrc | awk '{print $1}'
-rw-r--r--

祝你的剧本好运。

于 2012-07-12T15:24:39.760 回答