я попробовал обходной путь, который, я думаю, я понимаю:
#put all the data inside 1 array
array1[0]="/Distenation1/File1.txt"
array1[1]="file1"
array1[2]="/Distenation2/File2.txt"
array1[3]="file2"
#create a counter
n=0
#the trick here was that 'i' (loop) stores 1 array data per iteration (at first i thought it stores the whole array data then go through them 1 by one)
for i in ${array1[@]}
do
if [ $1 = ${i} ]
then
#here i had to call the original array to be able to read through any data inside the array
echo Name : $i '\n' Path : ${array1[$n+1]}
fi;
let n=n+1
done;
ВЫХОД:
=>test1 file1
Name : file1
Path : /Distenation1/File1.txt
Я не уверен, что это лучшая практика, но я открыт для любого лучшего решения или оптимизированного кода, поскольку я работаю с очень большим скриптом, и каждая миллисекунда оптимизации будет иметь значение
Команда sudo usermod -a -G www-data pi
только записывает в файл конфигурации. При входе в систему этот файл читается. Существующие процессы не затрагиваются.
Самый простой способ присоединиться к новой группе — выйти из системы и снова войти в нее (перезагрузка приведет к выходу из системы ).
Еще одна команда newgrp
, но она влияет только на собственные дочерние процессы.
Другая часть разрешения находится в режиме. Ваш каталог имеет режимdrwxr-xr-x
d
говорит, что это каталог. r
ead, w
rite (и удаление )и x
cross (e x
ecute для файлов ). r
еад и x
крест, но нет w
обряда Вам необходимо добавить w
разрешение на обряд в группу каталогов:
chmod -R g+w /var/www
(Это будет работать на Gnu chmod
и, как мне сказали, на многих других ).