Node.js 中的转义 shell 字符串

问题描述 投票:0回答:1

我正在尝试从 Node.js 脚本运行 shell 命令:

var child = exec('mysqldump -u "'+dbConfig.user+'" --password="' + dbConfig.password + '" --single-transaction ' + dbConfig.database + ' > ' + dumpFilePath)

现在一切都很好,但是

password
可能包含会破坏命令的特殊字符。

我一直在研究这个 Node 模块:https://www.npmjs.com/package/shell-escape

但是它的问题之一是它无法解析

=
符号,这使得该包对上述语句毫无用处。

所以我的问题是如何安全地逃脱密码字段?

javascript node.js linux escaping
1个回答
-3
投票

您可以使用单引号安全地转义密码:

var child = exec('mysqldump -u ' + dbConfig.user + ' --password=\'' + dbConfig.password + '\' --single-transaction ' + dbConfig.database + ' > ' + dumpFilePath)
© www.soinside.com 2019 - 2024. All rights reserved.