这里是新手用户。
我创建了一个有三个用户的环境,分别是 Tim、James 和 Harry。
我创建了一个名为 Friends 的组,其中包括 Tim 和 James。我使用 chmod 0770 更改了该组的权限。因此,该组拥有所有权限(读取、写入、执行),而组外的任何人都没有任何权限(即 Harry)。
我想使用脚本自动测试这些权限是否适用于 Harry 用户。我已经在一个名为 Homework.txt 的文件上手动测试了它。为此,我输入了:nano homework.txt,权限被拒绝,正如预期的那样。
如果我想创建一个执行相同功能但针对不同文件(Photos.txt、Videos.txt、Album.txt)的脚本,我该怎么做?如果有人能对此有所启发,我将不胜感激。
谢谢
答案1
首先,请看:如何为终端命令创建脚本文件?这包括创建脚本本身。
要测试您是否可以写入文件,您可以使用:
[ -w filename ]
(并且-r
对于阅读和-x
执行也是如此。)
要对多个文件执行此操作,可以使用for
循环:
for f in Photos.txt Videos.txt Album.txt
do
if [ -w "$f" ]
then
echo "Can write to $f."
else
echo "Can't write to $f."
fi
if [ -r "$f" ]
then
echo "Can read from $f."
else
echo "Can't read from $f."
fi
done
f
这里是 shell 将在循环的每次迭代中设置为的变量。这Photos.txt
就是获取变量值的方法。Videos.txt
Album.txt
"$f"