RCG*_*RCG 2 javascript sed exec node.js
我有一个文件,我想扫描它,找到字符“{”并创建一个新行,然后在新行上添加一个IP,并在该行末尾添加一个半古龙水,然后写入配置文件。
从 shell 运行时,我可以使用以下 sed 命令来完成此操作:
sed -i 's/{/&\n1.1.1.1;/g' /tmp/test.conf
Run Code Online (Sandbox Code Playgroud)
在 test.conf 内:
acl testACL{
};
Run Code Online (Sandbox Code Playgroud)
shell 中命令的输出显示:
acl testACL{
1.1.1.1;
};
Run Code Online (Sandbox Code Playgroud)
完美!现在的问题是当我让nodejs执行它时:
var sys = require('sys');
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) };
exec("sed -i 's/{/&\n1.1.1.1;/g' /tmp/test.conf",puts);
return 0;
Run Code Online (Sandbox Code Playgroud)
当我在控制台中运行命令时:“nodejs test.js”
我得到空白输出,当我检查文件时,文件“test.conf”尚未更改!为什么?!
另外,如果您认为“这是权限问题!” 我已经让 nodejs exec 命令将基本回显写入测试配置文件,并且工作正常。
我也尝试过“shelljs”模块,但没有运气。我已经尝试了无数的组合几个小时了,但没有成功!我很困惑。
归档时间: |
|
查看次数: |
2790 次 |
最近记录: |