Вероятно, вы можете сделать что-то вроде:
OSMSOURCE=europe-latest.o5m
export OSMSOURCE
doit() {
cd "$1"
POLYGON="$2"
osmconvert --drop-version $OSMSOURCE -B=$POLYGON --out-o5m > $(basename $OSMSOURCE.o5m |tr "-" "_")_$(basename $POLYGON.poly).o5m
}
export -f doit
Теперь вы можете проверить, работает ли это вручную:
doit URBAN_dir file_in_URBAN_dir.poly
Когда это сработает:
parallel doit {//} {/} ::: URBAN_[A-Z]*[0-9]/*.poly
Если это дает command too long
, попробуйте:
find URBAN_[A-Z]*[0-9] -name *.poly | parallel doit {//} {/}
Или:
find. | grep -E 'URBAN_[A-Z].*[0-9]/.*.poly$' | parallel doit {//} {/}
Потратьте час на прогулку по man parallel_tutorial
. Ваша командная строка поблагодарит вас за это.
вы можете попробовать изменить права доступа к каталогу.
$ sudo chmod -R 777 /home/admin/public_html
Это делает каталог доступным для любого пользователя на машине или, если вы настроили сеть, для любого пользователя в сети.
Добавьте пользователя «adminweb» в группу «admin» с помощью usermod.
Затем вам нужно убедиться, что все файлы в общедоступном _html-каталоге пользователя «admin» принадлежат группе «admin», имеют разрешение g+rw и что сам каталог (и все подкаталоги )имеют разрешения g+rwx.
Не используйте chmod 777.