我正在编写一个脚本来尝试加快我的基本 Wordpress 安装。它下载最新版本,解压缩,更改客户端名称,然后更新配置文件中的一些文本。
但是,我无法使用 sed 插入包含特殊字符的多行。多行来自 WP Secret Key Generator 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');
ETC...
这是给我问题的代码
# 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"
当我输入一行标准文本时,它很好。如果我在它周围添加引号,$salt
它只会在文件中打印文字$salt
。
sed 是插入此数据的正确方法吗?请记住我需要在文件中的特定点之后插入?
任何提示或提示都非常受欢迎。这是我第一次尝试 bash 脚本。