私はフライフィッシュキーを追加するphpMyAdmin設定ファイルにsedしようとしています。複雑な文字列でsed
は、ここで私はすべてのエラーを得ることはありません
k=$(openssl rand -base64 32)
o="\$cfg['blowfish_secret'] = '';"
n="\$cfg['blowfish_secret'] = '$k';"
sed -i -e 's/'"$o"'/'"$n"'/g' /var/www/phpmyadmin/config.inc.php
...私がこれまで持っているものだが、期待どおりに動作していないです。
echo -e "$k\n$o\n$n"
戻り
Jgcv3FlugcVi5rDYLCdNhxX6sEZatt0zTZV3PISiLJY=
$cfg['blowfish_secret'] = '';
$cfg['blowfish_secret'] = 'Jgcv3FlugcVi5rDYLCdNhxX6sEZatt0zTZV3PISiLJY=';
そして...
cat /var/www/phpmyadmin/config.inc.php | grep blowfish
戻り
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
助けてください!
'[]'文字クラスであり、SEDによってそのように解釈されています。 awkやperlを使い、正規表現の代わりに完全一致を行う方がよいでしょう。 – 123