基本的なWordpressのインストールを高速化するためのスクリプトを書いています。最新バージョンをダウンロードして解凍し、クライアント名を変更してから、構成ファイルのテキストを更新します。
ただし、sedを使用して特殊文字を含む複数行を挿入するのに問題があります。複数の行はWPシークレットキージェネレーターhttps://api.wordpress.org/secret-key/1.1/salt/からのものであり、標準を置き換えるものです
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
等...
これが私に問題を与えているコードのビットです
# Download data to variable
salt="`curl https://api.wordpress.org/secret-key/1.1/salt/`"
sed -i "/NONCE_SALT/a $salt" $pname/wp-config-sample.php
生成されたテキストを変数にダウンロードしてから、標準テキストの最後のインスタンスの後に新しい行に挿入しようとしています(後でこれらの標準行をすべて削除します)。次のエラーが発生します。
"ed: -e expression #1, char 112: extra characters after command"
標準テキストを1行入力すると、問題ありません。周囲に引用符を追加すると、ファイル内$salt
のリテラルが出力$salt
されます。
sedはこのデータを挿入するための正しいアプローチですか?ファイル内の特定のポイントの後に挿入する必要があることに注意してください。
ヒントやヒントは大歓迎です。これは、bashスクリプトでの私の最初の試みです。