二重引用符: "' マークは、'('" を予期しない近くの構文エラーです。

二重引用符:

""次の例のように、echoコマンドに二重引用符()を使用したいと思います。

echo "  
 ^%(log_prefix)s SecurityEvent=(FailedACL|InvalidAccountID|ChallengeResponseFailed|InvalidPassword)",EventTV="[\d-]+",Severity="[\w]+",Service="[\w]+",EventVersion="\d+",AccountID="\d+",SessionID="0x[\da-f]+",LocalAddress="IPV[46]/(UD|TC)P/[\da-fA-F:.]+/\d+",RemoteAddress="IPV[46]/(UD|TC)P/<HOST>/\d+"(,Challenge="\w+",ReceivedChallenge="\w+")?(,ReceivedHash="[\da-f]+")?$

 " > /etc/test.conf

このテキストを「/etc/test.conf」に入れたいです。

しかし、これをbashに入力するとエラーが返されます。syntax error near unexpected token `('

このエラーをどのように解決できますか?

ベストアンサー1

文字列の二重引用符内に拡張されるいくつかのシェル特殊文字があります。

シェルで拡張が予想されることを考慮して、単一引用符を使用してください。

echo '<your_string>' >/etc/test.conf

これは文字通り文字列を処理します。

おすすめ記事