如何在bourne shell脚本中使用grep命令在中间有空格时搜索新的输入参数

时间:2014-12-10 11:20:59

标签: shell unix grep sh

我想在具有以下内容的文件中搜索用户输入的模式。

the goof of the spoof
the horse of the sun

bourne shell脚本是a.sh,如下所示

#!/bin/sh
var=$1
grep $var file

>>sh a.sh 'the horse'
grep: can't open horse
file:the goof of the spoof
file:the horse of the sun

请帮帮我。 所以基本上我想知道如果用户输入参数之间有空间,如何工作。

1 个答案:

答案 0 :(得分:2)

引用变量:

#!/bin/sh
var="$1"
grep "$var" file

当你在$var中保留一个不带引号的空格时,shell将空格前的单词解释为搜索模式,将空格后的单词解释为正在搜索的文件。