我有一个家庭作业,要求我使用 bash 脚本在 Linux 终端中打印某些内容。我已经完成了其中的大部分,但我被困在我需要做的最后一件事上......这就是我的教授的措辞
Checks to see if current user has access to /root
-lists files in the root directory if so
-Hint: try using 'ls'
任何帮助将不胜感激。
最佳答案
条件表达式和符号权限
最简单的解决方案是使用 Bash conditional expression检查目录读取权限。例如:
[[ -r /root ]] && ls /root
如果您想直观地检查权限,可以使用 ls 来列出带有 -d
标志的目录(而不是其内容)。例如:
$ ls -lad /root
drwxr-x--- 6 root wheel 204 Oct 25 04:45 /root
然后您可以使用 symbolic notation 解析权限查看当前用户是否有权访问其内容,但是当您可以仅使用条件或直接处理 ls 的退出状态时,这样做似乎是很漫长的方法:
ls /root || echo "Grade: 'F' for effort." > /dev/stderr
关于linux - 运行命令前检查用户是否可以访问/根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28182160/