Следующий скрипт вернется в каждый каталог под ./userfiles
и будет работать со всеми там файлами, даже с пробелами в их именах (или другими недостоверными символами).
Кроме того, при написании сценария make будет передано в качестве последнего аргумента имя файла, как оно отображается на вашем диске с добавлением .html
.Например, файл ./userfiles/subdir/foobar.txt
будет передан make как ./userfiles/subdir/foobar.txt.html
.Если это не то, что вам нужно, то настройте ${file}.html
соответственно.
Кроме того, если вы хотите, чтобы find
- только работали с файлами, заканчивающимися, например, .html
затем вы можете добавить опцию -name "*.html"
к команде find
в любом месте после имени пути.
#!/bin/bash
topLevelDir="./userfiles"
while IFS= read -r -d $'\0' file; do
echo
echo
echo "Processing File $file ...."
echo
echo
make FILE_TYPE=user CSS_PATH=./log.css SCRIPT_PATH=./toggle.js SAXON_JAR=/opt/saxon/saxon9he.jar "${file}".html
echo
echo
echo "File $file.html Generated"
done < <(find "$topLevelDir" -type f -print0)