2
我有一個文件,我想掃描它,找到字符'{'並創建一個新行,然後在新行上添加一個IP並添加一個半古龍香水到行尾,然後寫入一個配置文件。nodejs'exec'命令不會正確執行'sed'命令
我可以從外殼中運行時具有以下sed命令實現此目的:
sed -i 's/{/&\n1.1.1.1;/g' /tmp/test.conf
內部test.conf:
acl testACL{
};
從命令在外殼的輸出所示:
acl testACL{
1.1.1.1;
};
作品完美!現在問題是,當我到的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;
當我運行在控制檯命令:「test.js的NodeJS」
我得到空的輸出,當我檢查文件, 'test.conf'文件沒有被修改!爲什麼?!
此外,如果你想'它的權限問題!'我已經有nodejs exec命令寫入測試配置文件的基本回聲,它工作正常。
我也嘗試過'shelljs'模塊,但沒有運氣。我已經嘗試了幾個小時的無數組合,現在沒有優勢!我很困惑。