调用Process.run时如何加载.bash_profile?

时间:2018-09-24 10:46:58

标签: dart

我正在尝试使用以下Dart代码确定“ flutter”脚本在用户计算机上的位置:

Process.run('which', ['flutter'], runInShell: true).then((results) {
      print('which returned code ${results.exitCode}\n  StdOut: ${results.stdout}\n  StdErr: ${results.stderr}');
}

问题在于,已经在用户的.bash_profile文件中设置了PATH环境,如下所示:

export PATH=$PATH:/Users/mr_pink/dev/flutter/bin

但是当我调用Process.run时,显然没有加载.bash_profile脚本。如何确保已加载它,以便“哪个颤动”命令使用正确的PATH变量?

1 个答案:

答案 0 :(得分:0)

在阅读man bash之后,我发现解决方案是将-l这样添加到bash命令中:

Process.run('bash', ['-l', '-c', 'which flutter'])