我正在尝试找到两个变量在脚本目录中连接的位置,但是当我尝试以下操作时:
grep -lire "$DATA_PATH . $AWARDS_YEAR" *
我得到“未定义的变量”错误......
我以为我可以通过使用:
来逃避$ sgrep -lire "\$DATA_PATH . \$AWARDS_YEAR" *
但是我得到了同样的错误 - 所以,你如何用$ s进行字符串grep?
答案 0 :(得分:6)
Tcsh与变量shell相比有点不同,而且它是FreeBSD的默认值。
因此,只需使用单引号'$VAR'
,或转义引号之外的$
:\$"VAR"
答案 1 :(得分:2)
将其放入单引号中,并使用转义斜杠:
grep -lire '\$DATA_PATH . \$AWARDS_YEAR' *
另请注意,点(。)是正则表达式字符。如果你不想要它,也可以逃避它(或者不要使用-e选项)。
这是nice reference,其中包含更多常规信息。