У меня есть следующий bash
script, который повторяется для каждого найденного изображения. Он должен быть повторен по всем файлам html, css и js и заменять все вхождения изображения внутри этого файла.
for image in app/www/images-theme-dark/*.png
do
echo "installing icon" $image
# extract filename from iconpath
iconfile=$(basename $image)
iconPath="images/"$(basename $image)
# replace paths in all files containing icon paths
find app/www -type f \( -name "*.html" -or -name "*.css" -or -name "*.js" \
-or -name "*.appcache" \) \
-exec sed -i '' -e 's|$iconPath|images-theme-dark/$iconfile|g' "{}" \;
done
Однако, когда я запускаю script sed
, выдает:
sed: can't read : No such file or directory
В StackOverflow я нашел sed: не могу прочитать: нет такого файла или каталога Но у меня уже были цитаты вокруг {}
Когда я повторяю команду sed
и выполняю ее в командной строке вручную, ошибки не возникает.
Я использую GNU sed v4.2.2 для Raspbian GNU/Linux 8.0 (jessie)
Кто-нибудь видит, что здесь может быть неправильно?