0

我试图找到两个变量在脚本目录中连接的位置,但是当我尝试以下操作时:

grep -lire "$DATA_PATH . $AWARDS_YEAR" *

我收到“未定义的变量”错误...

我想我可以通过使用以下方法来逃避 $s:

grep -lire "\$DATA_PATH . \$AWARDS_YEAR" *

但是我得到了同样的错误——那么,你如何用 $s 来查找字符串?

4

2 回答 2

6

Tcsh 在变量方面与通常的 shell 略有不同,它是 FreeBSD 上的默认设置。

因此,只需使用单引号 ,'$VAR'或转义$引号之外的内容:\$"VAR"

于 2009-11-02T23:56:20.270 回答
2

将其放在单引号中,并带有转义斜杠:

grep -lire '\$DATA_PATH . \$AWARDS_YEAR' *

另请注意,点 (.) 是一个正则表达式字符。如果您不希望它成为,也将其转义(或不使用 -e 选项)。

这是一个很好的参考,包含更一般的信息。

于 2009-11-02T23:53:44.627 回答