我需要帮助编写脚本。
要求是:
将文件或目录(/tmp/somefile 或 /home/username/somefile)的绝对引用作为参数并显示以下内容的脚本:
- 文件是文件还是目录?
- 我对文件/目录有读取权限吗?
- 我对文件/目录有写权限吗?
- 文件是否可执行?
- 文件的权限 - “ls -l”中的 rwx 内容将起作用。
如果您有任何我可以阅读的好资源,请随时发布它们,在此先感谢。
由于您到目前为止还没有展示您尝试过的内容,因此我不会直接回答您(只是因为我不知道这是家庭作业还是您还没有尝试过)。
您会发现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--
祝你的剧本好运。