Tuesday, March 19, 2019

Bash: Trouble passing arguments to grep from script

Trying to learn a little of bash scripting and I end up using the 'grep --color -r -n -i SEARCH .' command a lot, so I figured I'd script that. Problem is that I can't seem to pass my search term to grep correctly.



I've managed to get it to work when I pass only a single term in, so that if I enter 'search qwerty' it will perform 'grep --color -r -n -i qwerty .', but I can't get it to work if I pass in multiple terms. I would do this normally using 'grep --color -r -n -i 'qwe rty' .', however when I try this it searches for ''qwe' in rty'.




I'm not sure if I'm explaining this will so I'll post the relevant parts of the script xD



SEARCH="$*"
grep --color -r -n -i ${SEARCH} $PWD


I've tried this with SEARCH="'$*'" (which stops it working at all) and grep --color -r -n -i \'${SEARCH}\' $PWD which searches for 'qwe in rty', which is obviously not what I'm looking for.



Hope any of this makes sense ^.^

No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...