Это команда, которую я использую:

curl --insecure -i https://XX.XXX.XXX.XX/project/conatinername/foldertobeuploaded/${file}.html -X PUT -H "Content-Type: text/html charset=UTF-8; -H "Content-Length:0" -H "X-Auth-Token: $token" -T /home/folder/${file}.html

Я хочу загрузить весь каталог в мой Object Object. Кроме того, я хочу привести случай переключения, который поможет мне загрузить каждый файл в соответствии с типом контента.

Вот файл sh

for file in /home/folder/*
 if [ ${extension} == "html" ];
  do
        curl --insecure https://10.147.202.80:8081/swift/v1/JFSTechBackup/${file} -X PUT -H "Content-Type: text/html charset=UTF-8; -H "Content-Length:0" -H "X-Auth-Token: $token" -T /home/folder/${file}

 elif [ ${extension} == "css" ]; then
   do
         curl --insecure https:/home/folder/${file} -X PUT -H "Content-Type: text/css -H "X-Auth-Token: $token" -T /home/folder/${file}
 else if [ ${extension} == "png" ]; then
   do
        curl --insecure https:/home/folder/${file} -X PUT -H "Content-Type: image/png -H "X-Auth-Token: $token" -T /home/folder/${file}

fi

1 ответ1

1

Я не собираюсь пытаться переписать ваш скрипт, но рекурсивно найти все файлы, которые вы можете использовать, find , например, чтобы найти все обычные файлы

find directory -type f

или найти все, что не является каталогом

find directory \! -type d

Тогда вы могли бы запустить какую-то команду для каждого элемента, xargs бы хорош (с именами, разделенными нулями )

find directory \! -type d -print0 | xargs -0 curl ...

Если вы хотите исследовать и обрабатывать расширение имени файла, то вы можете использовать отдельный find для каждого типа -name *.extension или использовать что-то вроде цикла while read

find directory \! -type d | while read onthisfile; do echo Processing "$onthisfile; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .