命令行的grep与它“$”字符串?
-
12-09-2019 - |
题
我试图找到其中两个变量在脚本的目录中被连接在一起,但是当我尝试以下方法:
grep -lire "$DATA_PATH . $AWARDS_YEAR" *
我得到 “未定义的变量” 错误...
我想我可以通过使用逃脱$ S:
grep -lire "\$DATA_PATH . \$AWARDS_YEAR" *
但我得到了同样的错误 - 这样,你怎么用grep与$ s的字符串
解决方案
Tcsh是大约比通常的炮弹变量略有不同,它是在FreeBSD默认值。
所以,仅仅用单引号,'$VAR'
,或逃避引号之外$
:\$"VAR"
其他提示
把它在单引号,与逃逸斜线:
grep -lire '\$DATA_PATH . \$AWARDS_YEAR' *
还要注意的是,点(。)是一个正则表达式的字符。如果你不希望它是,逃吧,太(或不使用-e选项)。
这里的一个很好的参考,提供更一般的信息。
不隶属于 StackOverflow