как передать строку как команду циклу for В скрипте bash

Я работаю над сценарием bash (я очень Новый, чтобы сделать это), который будет петля через все мои файлы, которые будут зафиксированы с помощью GIT. Однако при передаче команды в цикл for я получаю следующую ошибку:
fatal: неоднозначный аргумент’|’: неизвестная ревизия или путь не в рабочем дереве.
команда, которую я передаю в цикл, прекрасно работает в терминале. У меня есть следующий сценарий:

Я запускаю скрипт следующим образом: BYPASS_LEGACY=yes ./check_debug_code.sh

#!/bin/bash

if [ "$BYPASS_LEGACY" == "yes" ]
then
gitCommand="git diff --cached --name-only | egrep -v'(folder1|folder2|([A-Za-z])w+.*X)'" 
else
gitCommand="git diff --cached --name-only"
fi

DEBUG_CODE_FOUND="no"

for i in "$($gitCommand)"
do 
r=$(grep -nrH --color=always 'dump|print_r|console.log(|var_dump(|echo|print(' $i) 
if [ "$r" != "" ];then
echo "$r"
DEBUG_CODE_FOUND="yes"
fi
done
if [ "$DEBUG_CODE_FOUND" == "yes" ];then
   echo "======================please remove the Debug to be able to commit.========================"
exit 1
fi
exit 0

Любая помощь будет очень полезной.

спасибо.

1 ответ