[英]Setting the 'process environment' within the called nodejs script
我如何在腳本本身內更改環境,以便其他后續代碼將忽略調用環境的狀態,並認為該環境是我設置的。
我不確定“成功代碼”是什么意思。
如果您的意思是“在同一Node進程內” ,這很簡單:
// process.env.PATH = 'foobar';
require('child_process').exec('ls', function(err, result) {
if (err)
console.log('error', err);
else
console.log('ls', result);
});
嘗試使用此腳本,並首先注釋掉第一行,它將正常工作。 之后,刪除注釋,以便PATH被廢話覆蓋,並且該exec
將失敗,因為它再也無法在PATH中找到ls
命令。
如果您的意思是“對於任何后續的Node進程,我可能會在第一個腳本之后啟動” ,這是不可能的,因為這些后續進程的父進程是您的Shell,而不是您的腳本。 子進程不能更改其父進程的環境。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.