exe*_*ook 7 javascript bash environment-variables node.js
我非常喜欢我node.js的,我想用它作为我的bash启动脚本~/.bashrc,但我不知道如何导出变量。
目前我必须使用这种方法:
export PS1=`node ~/PS1.js`
export PS2=`node ~/PS2.js`
export PATH=`node ~/PATH.js`
Run Code Online (Sandbox Code Playgroud)
相反,我想.bashrc看看
#!/usr/local/bin/node
//do something, define functions
export_var('PS1', PS1())
export_var('PS2', PS2())
export_var('PATH', generatePATH())
Run Code Online (Sandbox Code Playgroud)
process.env.PATH = something不导出,只为当前正在执行的进程设置,也就是节点本身。
Jia*_*hen 11
一种可能的方法是使用JS打印出导出语句,然后在shell中使用eval在当前shell中对其进行评估。
例如测试.js
#!/usr/bin/env node
console.log('export A=40; export B=10');
Run Code Online (Sandbox Code Playgroud)
在外壳中:
eval `./test.js`
echo $A
Run Code Online (Sandbox Code Playgroud)
Node.js 将在一个单独的进程中运行,该进程获取环境的副本。您无法更改父进程(执行 .bashrc 的进程)的环境。
但是以下问题可以为您提供答案: shell 脚本可以设置调用 shell 的环境变量吗?
您可以从 node.js 中编写一个新的脚本文件并通过source.
| 归档时间: |
|
| 查看次数: |
12667 次 |
| 最近记录: |