簡體   English   中英

在調用的nodejs腳本中設置“流程環境”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM