Input for read command

Hello,

I want to use the read command in order to input a keyword from the keyboard.
I then want to use this keyword in a grep command.
How to I input a phrase as a keyword? For example if I use

read keyword
"today is"

and then use grep, I get "No such file or directory" error.

What are you trying to grep?

Quick and dirty guess since I don't know you're OS or shell:

read -p "Keyword: " keyword;echo $keyword | xargs -n1 -i grep '{}' file

I want to use keyword to grep in another file.
But the keyword can also be a phrase eg I want to grep the whole phrase "today is" from the next file.

Be sure to use double quotes around the variable reference, then it should work correctly. Also it is to best use the -r option so that backslashes are not interpreted by the read command, for example:

read -r regex
grep "$regex" file

Thank you.
That seems to work in most cases, although not when -i is used in grep.
But this solved my problem, so thanks.

If you want it to take it as a literal string and not a regex, grep -F "$string"