Приветствую!
Есть следующий код, который что-то делает с найденными изображениями.
DIR="/var/www/subdomain.example.com/upload/"
STORAGE="gs://images.example.com/" #storage on google cloud
LIST="logs/urls.txt"
######################################################################
######################################################################
######################################################################
######################################################################
DIR_FROM_EXECUTED="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
if [[ ! -d "$DIR_FROM_EXECUTED/logs/" ]]; then
mkdir -p "$DIR_FROM_EXECUTED/logs/"
fi
> "$DIR_FROM_EXECUTED/logs/urls.txt"
> "$DIR_FROM_EXECUTED/logs/lastlog.txt"
find "$DIR" -regextype posix-extended -iregex ".*\.(png|jpg|gif|jpeg|ico|svg)" -not -path "${DIR}tmp/*" -print > "$LIST"
while read URL
do
URLTOUPLOAD=$(echo $STORAGE$URL | sed "s@${DIR}@@g")
gsutil -m cp "$URL" "$URLTOUPLOAD" > /dev/null 2>&1
echo "$URL" "=>" "$URLTOUPLOAD" | sed "s@gs:@https:@g" | tee -a "$DIR_FROM_EXECUTED/logs/lastlog.txt"
gsutil -m acl ch -u AllUsers:R "$URLTOUPLOAD" > /dev/null 2>&1
gsutil -m setmeta -h "Cache-Control:public, max-age=31536000" "$URLTOUPLOAD" > /dev/null 2>&1
rm -f "$URL" > /dev/null 2>&1
done < $LIST
Но нужно что бы переменная DIR была не один статистический путь, а для следующей команды, то есть для всех найденных server_names.
grep -rl "server_name " /etc/nginx/conf.d/ | sed '/default/d' | sed '/sclool.tools/d' | sed '/images.interatletika/d' | sed 's/.conf//g' | sed 's/\/etc\/nginx.d\//\/var\/www\//g
Как это лучше сделать, снова через for do done?
Или? Можно примеры ?