シェルスクリプトよりも次の行が見つかりました。
ls $dir | grep -c "$NAME.${var}\$"
これはsum$
変数を拡張することを知っていますが、最後にする必要がありますか?NAME
var
\$
ベストアンサー1
grep
文字列を"$NAME.${var}\$"
正規表現として使用します。おそらく、問題のコード行の前にシェル変数name
sumvar
に値が割り当てられ、シェルがスクリプト値$NAME
sum を解釈します${var}
。正規表現の最後の「$」はバックスラッシュにエスケープされるので、スクリプトを解釈するシェルはシェル変数の値を挿入しようとしません。 「$」はgrep
正規表現の一部として渡されます。実際、「$」は正規表現のgrep
文脈で特別な意味を持ちます。 「$」は「行末」を意味しますgrep
。要求された意味以外にgrep
最後の「$」は必要ありません。