系统环境:centos7,青龙面板版本:2.15.4。
这里的环境变量指面板左侧菜单“配置文件”config.sh中的export变量, 例如export MY_TOKEN='123';,下面也以MY_TOKEN作为示例,这种也是环境变量,只不过不会显示在面板左侧菜单的“环境变量”中,但并不影响脚本使用。
js脚本读取环境变量:
最简单的方式:process.env.MY_TOKEN
console.log(process.env.MY_TOKEN)
js脚本修改环境变量:
const fs = require('fs');
const path = require('path');
//修改环境变量的方法,参数1:环境变量名;参数2:环境变量的新值
function setEnvVar(envName, newValue) {
const configPath = path.join(__dirname, '../config/config.sh');
const configContent = fs.readFileSync(configPath, 'utf-8');
const pattern = new RegExp(`^export ${envName}='(.*)';`, 'm');
const match = configContent.match(pattern);
if (match) {
const oldValue = match[1]; //另一种读取环境变量的方式
const newContent = configContent.replace(pattern, `export ${envName}='${newValue}';`);
fs.writeFileSync(configPath, newContent);
console.log(`${envName}的值已从${oldValue}修改为${newValue}`);
} else {
console.error(`找不到${envName}变量`);
}
}
//调用方法
setEnvVar('MY_TOKEN', 'new_token_value');
关于直接修改面板左侧菜单的“环境变量”中设置的环境变量,我目前还不知道有没有这种方式。
好文链接
发表评论