在csh中保存grep输出

时间:2015-12-10 05:46:31

标签: csh

您好我刚开始做一些csh脚本,我一直遇到将grep结果存储到变量的问题。我正在尝试从包含用户名作为子字符串的文件中保存一行。

echo `grep -w $name /etc/passwd`
set line=`grep -w $name /etc/passwd`
echo $line

第一行只是一个调试行,所以我知道我的grep正在获取正确的行。这是给我问题的第二条线。当我回应它时会打印出“echo:no match”。有人提供任何帮助吗?

1 个答案:

答案 0 :(得分:1)

您的passwd文件包含*。在脚本中添加双引号:

set line="`grep -w $name /etc/passwd`"
echo "$line"

如果没有引号,*会被解释为通配符文件匹配字符[可能]不匹配任何真实文件。