From 23d099bc33d5252e03d1ccb3b803f3c51beab9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dennis=20V=C3=A6rum?= <6872940+dvaerum@users.noreply.github.com> Date: Wed, 15 Nov 2023 00:11:10 +0100 Subject: [PATCH] Bug fix: not found error if hook folder contains files but non ending with `*.sh` (#2095) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Use `find` to located `*.sh` Signed-off-by: Dennis Vestergaard Værum * added msg if hook folder does not exist Signed-off-by: Dennis Vestergaard Værum * Updated info message Co-authored-by: J0WI Signed-off-by: Dennis Værum <6872940+dvaerum@users.noreply.github.com> * Update docker-entrypoint.sh Small adjustments Signed-off-by: Dennis Værum <6872940+dvaerum@users.noreply.github.com> --------- Signed-off-by: Dennis Vestergaard Værum Signed-off-by: Dennis Værum <6872940+dvaerum@users.noreply.github.com> Co-authored-by: J0WI --- docker-entrypoint.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 4c85f6ad..edb539a0 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -24,17 +24,17 @@ run_path() { local hook_folder_path="/docker-entrypoint-hooks.d/$1" local return_code=0 - echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}" - - if [ -z "$(ls -A "${hook_folder_path}")" ]; then - echo "==> but the hook folder \"$(basename "${hook_folder_path}")\" is empty, so nothing to do" + if ! [ -d "${hook_folder_path}" ]; then + echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist" return 0 fi + echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}" + ( - for script_file_path in "${hook_folder_path}/"*.sh; do - if ! [ -x "${script_file_path}" ] && [ -f "${script_file_path}" ]; then - echo "==> The script \"${script_file_path}\" in the folder \"${hook_folder_path}\" was skipping, because it didn't have the executable flag" + find "${hook_folder_path}" -type f -maxdepth 1 -iname '*.sh' -print | sort | while read -r script_file_path; do + if ! [ -x "${script_file_path}" ]; then + echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag" continue fi