#!/bin/sh # koha-foreach -- run a command for each Koha instance # Copyright 2010 Catalyst IT, Ltd # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . set -e # Read configuration variable file if it is present [ -r /etc/default/koha-common ] && . /etc/default/koha-common # include helper functions if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then . "/usr/share/koha/bin/koha-functions.sh" else echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2 exit 1 fi chdir="no" starting_dir=$(pwd) listopts="" while [ ! -z "$1" ] do case "$1" in --chdir) chdir="yes";; --email) listopts="$listopts --email";; --noemail) listopts="$listopts --noemail";; --enabled) listopts="$listopts --enabled";; --disabled) listopts="$listopts --disabled";; --sip) listopts="$listopts --sip";; --nosip) listopts="$listopts --nosip";; --plack) listopts="$listopts --plack";; --noplack) listopts="$listopts --noplack";; --letsencrypt) listopts="$listopts --letsencrypt" ;; --noletsencrypt) listopts="$listopts --noletsencrypt" ;; *) break;; esac shift done for name in $(koha-list $listopts) do # Replace the __instancename__ placeholder for the instance name (Bug 8566) cmd=`echo "$@" | sed -e s/__instancename__/${name}/g` if [ "${cmd}" != "" ]; then # Change to the instance's home dir if required [ "$chdir" != "no" ] && eval cd ~$name"-koha" koha-shell ${name} -c "${cmd}" # Go back to the original dir if required [ "$chdir" != "no" ] && cd "$starting_dir" fi done