我必须使用外壳程序从URL wp-config-sample.php检索到的秘密密钥中找到并替换Wordpress https://api.wordpress.org/secret-key/1.1/salt/中秘密密钥的默认值。
原始字符串:
define( 'AUTH_KEY', 'put your unique phrase here' );
替换字符串(示例):
define( 'AUTH_KEY', 'CA%c=@+l}j8uV%d6-LolGi~pFX(9Tqi+QwPjod:FRz0h.Hgi:OzG4/>MB,[17Lfd' );
我正面临sed: -e expression #1, char 2: unterminated `s' command
,使用sed和以下代码将原始字符串替换为新字符串:
wp_salts=$(curl -s https://api.wordpress.org/secret-key/1.1/salt/)
wp_auth_key_old="define( 'AUTH_KEY', 'put your unique phrase here' );"
wp_auth_key_new=$(echo "${wp_salts}" | grep -w 'AUTH_KEY')
sed -i -e $(printf 's/"${%q}"/"${%q}"/g' "$wp_auth_key_old" "$wp_auth_key_new") /var/www/html/wp-sample-config.php
我尝试了很多方法,但由于替换字符串是动态的并且包含太多特殊字符,因此总是会出错。
此外,此功能也不起作用:
sed -i -e "s/\"$wp_auth_key_old\"/\"$wp_auth_key_new\"/g" /var/www/html/wp-sample-config.php
也不是这个:
sed -i -e "s/${wp_secret_key_old}/${wp_secret_key_new}/g" /var/www/html/wp-sample-config.php