[Koha-patches] [PATCH] Bug 8566: Enable koha-foreach to insert the instancename into commands

Reed Wade reed at typist.geek.nz
Thu Jun 26 15:25:15 CEST 2014


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.
---
 debian/docs/koha-foreach.xml | 1 +
 debian/scripts/koha-foreach  | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/debian/docs/koha-foreach.xml b/debian/docs/koha-foreach.xml
index c8a612c..4e84463 100644
--- a/debian/docs/koha-foreach.xml
+++ b/debian/docs/koha-foreach.xml
@@ -29,6 +29,7 @@
 
   <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>
diff --git a/debian/scripts/koha-foreach b/debian/scripts/koha-foreach
index 6bda414..6e4d98d 100755
--- a/debian/scripts/koha-foreach
+++ b/debian/scripts/koha-foreach
@@ -32,12 +32,13 @@ done
             
 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: /"
 
-- 
1.9.1



More information about the Koha-patches mailing list