From 71430df23d0504bf79334ff488863e927d7b4b6e Mon Sep 17 00:00:00 2001 From: Piotr Maj Date: Sun, 5 Nov 2023 17:39:36 +0100 Subject: [PATCH 1/3] Fix issue with logs that contains space in the path: wrap tail argument in quotes to prevent the faulty behavior as per https://stackoverflow.com/a/43793896 --- root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run index d017df2..e0cdc8c 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run @@ -3,7 +3,7 @@ if [ -n "${LOGS_TO_STDOUT}" ]; then TAIL_LOGS=$(echo "$LOGS_TO_STDOUT" | sed 's#|# #g') echo "Executing: tail -F $TAIL_LOGS" - tail -F $TAIL_LOGS + tail -F "$TAIL_LOGS" else echo "**** Env var LOGS_TO_STDOUT is not set, sleeping ****" fi From 4b702eb59a1002969d899df10a3c4920959e1745 Mon Sep 17 00:00:00 2001 From: Piotr Maj Date: Sun, 5 Nov 2023 18:58:02 +0100 Subject: [PATCH 2/3] Replace sed with array parsing to properly handle multiple paths with spaces --- .../s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run index e0cdc8c..313b2c4 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run @@ -1,9 +1,9 @@ #!/usr/bin/with-contenv bash if [ -n "${LOGS_TO_STDOUT}" ]; then - TAIL_LOGS=$(echo "$LOGS_TO_STDOUT" | sed 's#|# #g') - echo "Executing: tail -F $TAIL_LOGS" - tail -F "$TAIL_LOGS" + IFS='|' read -ra PATH_ARRAY <<< "$LOGS_TO_STDOUT" + echo "Executing: tail -F ${PATH_ARRAY[@]}" + tail -F "${PATH_ARRAY[@]}" else echo "**** Env var LOGS_TO_STDOUT is not set, sleeping ****" fi From 4ad71311aa1dd5ecea8ac227ae9abe07157ea53a Mon Sep 17 00:00:00 2001 From: Piotr Maj Date: Sat, 11 Nov 2023 18:11:10 +0100 Subject: [PATCH 3/3] Rename PATH_ARRAY to TAIL_LOGS to be consistent with prior code --- .../s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run index 313b2c4..7b5661c 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-mod-universal-stdout-logs/run @@ -1,9 +1,9 @@ #!/usr/bin/with-contenv bash if [ -n "${LOGS_TO_STDOUT}" ]; then - IFS='|' read -ra PATH_ARRAY <<< "$LOGS_TO_STDOUT" - echo "Executing: tail -F ${PATH_ARRAY[@]}" - tail -F "${PATH_ARRAY[@]}" + IFS='|' read -ra TAIL_LOGS <<< "$LOGS_TO_STDOUT" + echo "Executing: tail -F ${TAIL_LOGS[@]}" + tail -F "${TAIL_LOGS[@]}" else echo "**** Env var LOGS_TO_STDOUT is not set, sleeping ****" fi