您好我刚开始做一些csh脚本,我一直遇到将grep结果存储到变量的问题。我正在尝试从包含用户名作为子字符串的文件中保存一行。
echo `grep -w $name /etc/passwd`
set line=`grep -w $name /etc/passwd`
echo $line
第一行只是一个调试行,所以我知道我的grep正在获取正确的行。这是给我问题的第二条线。当我回应它时会打印出“echo:no match”。有人提供任何帮助吗?
答案 0 :(得分:1)
您的passwd文件包含*
。在脚本中添加双引号:
set line="`grep -w $name /etc/passwd`"
echo "$line"
如果没有引号,*
会被解释为通配符文件匹配字符[可能]不匹配任何真实文件。