Subject: I found problem not solved to my grep

From: Budi <[email-masked]>
Date: Wed, 14 Feb 2018 08:59:47 +0700

I tried to  customize grep:

Code:

g () {
if [ -n "$2" ]
then
 i=
 for s in $2
 do
	i="$i --include=*.$s"
 done
 else
	i='--include=*.txt --include=*.ini --include=*.*sh --include=*.c*
--include=*.h --include=*.js --include=*.reg'
fi
grep -P -e \'$1\' -r $i
}

or with double quote "$i" as tested and used below

Code:

$ g sys ini
grep:  --include=*.ini: No such file or directory

without it, ie. "", it'll just freeze awhile as if it processes properly,
if one inserts 'echo' to the last line for tracking and test:

echo grep -P -e \'$1\' -r $i

then reload the alias file and redo it,

Code:

$ g sys ini
grep -P -e 'sys' -r  --include=*.ini

it'll echo correctly to become perfectly a valid grep command line...
What's actually happened and how to fix and solve this ?
Thanks so much in advance.