Неопытный пользователь здесь.
Я создал среду, где существует три пользователя, Tim, James и Harry.
Я создал группу под названием Друзья, которая включает Tim и James. Я изменил полномочия этой группы, использующей chmod 0770. Поэтому у группы есть все возможности (чтение, запишите, выполнитесь), и у любого вне группы есть нулевые возможности (т.е. Harry).
Я хочу автоматически протестировать это эти полномочия работа с помощью сценария с пользователем Harry. Я протестировал его вручную на одном файле под названием Homework.txt. Чтобы сделать это, я вошел: нано homework.txt, разрешение было отклонено как ожидалось.
Если я хочу создать сценарий, который выполняет ту же функцию, но на различных файлах (Photos.txt, Videos.txt, Album.txt), как я пошел бы о выполнении этого? Было бы благодарно, если кто-либо может пролить некоторый свет на это.
Спасибо
Во-первых, см.: Как я создаю файл сценария для терминальных команд? Это покрывает создание самого сценария.
Чтобы протестировать, можно ли записать в файл, можно использовать:
[ -w filename ]
(И -r
для чтения, -x
для выполнения.)
Чтобы сделать это для нескольких файлов, Вы могли использовать a 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
вот переменная, на которую установит оболочка Photos.txt
, Videos.txt
и Album.txt
в каждом повторении цикла. "$f"
то, как Вы получаете значение переменной.