koha-foreach has been modified to replace __instancename__ with $name
on each iteration using sed.
The docbook file for koha-foreach has also been updated to reflect the
new functionality.
To test:
koha-foreach ls -ld /etc/koha/sites/__instancename__
should list directories instead of giving an error message.
Signed-off-by: Magnus Enger <digitalutvikling@gmail.com>
The suggested example with ls works as expected, as does my
more complex example with fines.pl:
koha-foreach --enabled /usr/share/koha/bin/cronjobs/fines.pl \
--out /var/log/koha/__instancename__/
The man page looks good too.
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
<refsect1><title>Description</title>
<para>Run a command for each Koha instance. Takes the same arguments as koha-list.</para>
+ <para>The string "__instancename__" is replaced in the argument list with the name of the Koha instance in each iteration.</para>
</refsect1>
<refsect1><title>See also</title>
for name in $(koha-list $listopts)
do
+ cmd=`echo "$@" | sed -e s/__instancename__/${name}/g`
(
exec 3>&1
sudo -u "$name-koha" \
env PERL5LIB=/usr/share/koha/lib \
KOHA_CONF="/etc/koha/sites/$name/koha-conf.xml" \
- "$@" 2>&1 >&3 | sed -e "s/^/$name: /" >&2 3>&-
+ ${cmd} 2>&1 >&3 | sed -e "s/^/$name: /" >&2 3>&-
exec 3>&-
) | sed -e "s/^/$name: /"