From 08ee36350df5eb4c1b298c40555fe53c95a9e575 Mon Sep 17 00:00:00 2001
From: Andreas Romeyke <art1@andreas-romeyke.de>
Date: Fri, 14 Oct 2022 16:12:04 +0200
Subject: [PATCH] - bugfix, if pipe mode, print result to stdout instead file

---
 validate_workflow.sh | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/validate_workflow.sh b/validate_workflow.sh
index 6b2b5e6..2173870 100755
--- a/validate_workflow.sh
+++ b/validate_workflow.sh
@@ -363,7 +363,11 @@ exec_cmd() {
     local stop_t
     start_t=$(date +"%s")
     debug "scan_file, calling cmd='$cmd'"
-    $cmd >>"$log" 2>&1
+    if [ -n "$log" ]; then
+        $cmd >>"$log" 2>&1
+    else
+        $cmd 2>&1
+    fi
     local is_valid=$?
     stop_t=$(date +"%s")
     local duration=$((stop_t - start_t))
@@ -393,7 +397,11 @@ handle_input_if_requested() {
 get_logfile() {
     local filename=$1
     local logname
-    logname=$(echo "$filename"| sed -e "s#^${WATCH_FOLDER}#${RESULT_FOLDER}#"  -e "s#\$#.log#")
+    if [ -n "${WATCH_FOLDER}" ] && [ "${WITH_PIPE}" -eq 0 ]; then
+        logname=$(echo "$filename"| sed -e "s#^${WATCH_FOLDER}#${RESULT_FOLDER}#"  -e "s#\$#.log#")
+    else # pipe uses a temp filename
+        logname=""
+    fi
     debug "get_logfile, logname=$logname (filename=$filename)"
     echo "$logname"
 }
-- 
GitLab