You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash脚本中获取链接文本并替换wp-config.php密钥配置

用Bash脚本自动替换WordPress wp-config.php中的盐值

不需要单独把盐值保存为文本文件,直接通过curl获取API内容后,用sed命令就能完成替换操作。以下是具体实现方案:

核心思路

直接调用WordPress官方的盐值API获取生成好的密钥/盐值,然后用sed定位到wp-config.php中对应的8行配置,批量替换成新内容。

完整脚本示例

# 先备份原配置文件,防止操作失误
cp wp-config.php wp-config.php.bak

# 获取盐值内容,静默模式不显示进度
SALT_CONTENT=$(curl -s https://api.wordpress.org/secret-key/1.1/salt/)

# 判断是否成功获取盐值
if [ -z "$SALT_CONTENT" ]; then
    echo "错误:无法获取WordPress盐值,请检查网络连接"
    exit 1
fi

# 替换wp-config.php中的盐值段落
sed -i.bak -e '/^define( '\''AUTH_KEY'\''/,/^define( '\''NONCE_SALT'\''/c\'"$SALT_CONTENT"'' wp-config.php

echo "盐值替换完成!已自动生成备份文件:wp-config.php.bak"

命令解释

  1. 备份文件:cp wp-config.php wp-config.php.bak,确保替换出错时可以恢复原文件。
  2. 获取盐值:curl -s ...,-s参数让curl以静默模式运行,不输出进度信息,返回的内容直接存入变量SALT_CONTENT。
  3. 非空判断:检查SALT_CONTENT是否为空,避免因为网络问题导致配置被清空。
  4. sed替换:
    • /^define( 'AUTH_KEY'/,/^define( 'NONCE_SALT'/:匹配从AUTH_KEY行到NONCE_SALT行的整个区间。
    • c\'"$SALT_CONTENT"':将匹配到的区间内容替换为新获取的盐值(API返回的内容正好是8行标准的define语句,完美匹配需要替换的段落)。
    • -i.bak:原地修改文件,同时生成带.bak后缀的备份。

注意事项

  • 确保脚本运行时,当前目录下存在wp-config.php,或者指定完整路径(比如/var/www/html/wp-config.php)。
  • 服务器需要能正常访问api.wordpress.org,如果服务器在国内,可能需要配置代理或者提前离线生成盐值备用。
  • 替换完成后可以打开wp-config.php确认内容是否正确,避免特殊字符导致的格式问题。

内容的提问来源于stack exchange,提问作者user3486773

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 20:39:14