0

スクリプトのディレクトリ内で2つの変数が連結されている場所を見つけようとしていますが、次のことを試してみます。

grep -lire "$DATA_PATH . $AWARDS_YEAR" *

「未定義の変数」エラーが発生します...

次を使用して$sをエスケープできると思いました。

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

しかし、同じエラーが発生します-では、$ sが含まれる文字列をどのようにgrepしますか?

4

2 に答える 2

6

Tcshは、変数に関して通常のシェルとは少し異なり、FreeBSDのデフォルトです。

したがって、一重引用符を使用するか、引用符の外側を'$VAR'エスケープします。$\$"VAR"

于 2009-11-02T23:56:20.270 に答える
2

エスケープスラッシュを使用して、一重引用符で囲みます。

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

また、ドット(。)は正規表現文字であることに注意してください。望まない場合は、エスケープします(または、-eオプションを使用しないでください)。

これは、より一般的な情報を含む優れたリファレンスです。

于 2009-11-02T23:53:44.627 に答える