スクリプトのディレクトリ内で2つの変数が連結されている場所を見つけようとしていますが、次のことを試してみます。
grep -lire "$DATA_PATH . $AWARDS_YEAR" *
「未定義の変数」エラーが発生します...
次を使用して$sをエスケープできると思いました。
grep -lire "\$DATA_PATH . \$AWARDS_YEAR" *
しかし、同じエラーが発生します-では、$ sが含まれる文字列をどのようにgrepしますか?
スクリプトのディレクトリ内で2つの変数が連結されている場所を見つけようとしていますが、次のことを試してみます。
grep -lire "$DATA_PATH . $AWARDS_YEAR" *
「未定義の変数」エラーが発生します...
次を使用して$sをエスケープできると思いました。
grep -lire "\$DATA_PATH . \$AWARDS_YEAR" *
しかし、同じエラーが発生します-では、$ sが含まれる文字列をどのようにgrepしますか?
Tcshは、変数に関して通常のシェルとは少し異なり、FreeBSDのデフォルトです。
したがって、一重引用符を使用するか、引用符の外側を'$VAR'
エスケープします。$
\$"VAR"
エスケープスラッシュを使用して、一重引用符で囲みます。
grep -lire '\$DATA_PATH . \$AWARDS_YEAR' *
また、ドット(。)は正規表現文字であることに注意してください。望まない場合は、エスケープします(または、-eオプションを使用しないでください)。
これは、より一般的な情報を含む優れたリファレンスです。