我正在研究一个bash脚本(我很新做这个),它将遍历我使用GIT提交的所有文件。但是,当我将命令传递给for循环时,我收到以下错误: 致命的:模糊的参数'|':未知的修订或路径不在工作树中。 我传递给循环的命令在终端中工作正常。我有以下脚本:
我运行脚本如下: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
任何帮助都会非常有用。
谢谢。答案 0 :(得分:0)
您想要的是eval
或bash -c
。 - rr