#!/command/with-contenv bash cd /var/lib/xaseco XML_HEADER='\n\n' XML_FOOTER='' if ls plugins/custom/* &>/dev/null; then for i in plugins/custom/* do ln -sf ${i#*/} plugins/ done fi PLUGINS_LIST=($(ls -d plugins/*.php | sed -e 's/plugins\///g')) [[ -r ./blacklist.txt ]] && { BLACKLIST=($(cat ./blacklist.txt | tr '\r' ' ' | tr '\n' ' ')) PLUGINS_LIST=($(echo "${PLUGINS_LIST[@]}" | tr ' ' '\n' |\ grep -vf <(echo "${BLACKLIST[@]}" | tr ' ' '\n'))) } { # open with header -- \n interpreted printf "%b" "$XML_HEADER" # main block -- parse plugin list { [[ "${PLUGINS_LIST[@]}" =~ "plugin.localdatabase.php" ]] && printf " plugin.localdatabase.php\n" for plugin in "${PLUGINS_LIST[@]}" do case "${plugin}" in "plugin.localdatabase.php") ;; "plugin.records_eyepiece.php") ;; *) printf " %s\n" "${plugin}" ;; esac done [[ "${PLUGINS_LIST[@]}" =~ "plugin.records_eyepiece.php" ]] && printf " plugin.records_eyepiece.php\n" } # finish with footer -- \n interpreted printf "%b" "$XML_FOOTER" } > plugins.xml