Bug 25634: Warn if koha-shell returns non-zero in koha-foreach

By putting koha-shell in an if statement, "set -e" will no longer
cause the entire koha-foreach program to exit, if koha-shell
returns a non-zero status.

If a non-zero status is returned, we warn on it, and the caller
of koha-foreach can interpret that command visually.

To Test:
1) Write a shell script that says "Hello" and then exits with a 1
status
2) Run koha-foreach against that shell script with multiple instances
available to koha-foreach
3) Before the patch, koha-foreach will die after the first "Hello"
4) After the patch, koha-foreach will continue, through all the
instances, and report which instances returned non-zero statuses
by which command.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 4c548cb08f)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 79663817ec)

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>

(cherry picked from commit 1e982eafd1)
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
This commit is contained in:
David Cook 2020-06-02 09:53:06 +10:00 committed by Victor Grousset/tuxayo
parent 9f71cc7c46
commit f93bdd8c62
1 changed files with 6 additions and 1 deletions

View File

@ -61,7 +61,12 @@ do
# Change to the instance's home dir if required
[ "$chdir" != "no" ] && eval cd ~$name"-koha"
koha-shell ${name} -c "${cmd}"
if koha-shell ${name} -c "${cmd}"; then
: #noop
else
rv=$?
echo "${name}: $rv status returned by \"${cmd}\""
fi
# Go back to the original dir if required
[ "$chdir" != "no" ] && cd "$starting_dir"