首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以通过节点运行source?

是否可以通过节点运行source?
EN

Stack Overflow用户
提问于 2018-03-02 15:34:17
回答 1查看 1.4K关注 0票数 2

Hoi,可以通过节点运行"source ./..bash_file“吗?尝试创建一个使用电子应用创建ssh别名的小工具,但不能更新bash文件以使终端可以使用新的别名。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-02 15:58:46

是的,您可以使用child_process.spawn()child_process.exec()来获取bash脚本。

,但是,它不会像我所期望的那样工作。

这是因为,在spawn创建一个新进程的同时,它还在该进程中启动了一个新的shell,在该过程中您的脚本将被源源,然后在新生成的进程结束时被终止。

如果您只需要新生成的shell上下文中可用的脚本的结果,则可以创建一个新脚本,该脚本首先来源于您的bash_file,然后在同一脚本的其他位置使用对当前运行的shell所做的任何更改。

假设:

bash_script.sh包含

代码语言:javascript
复制
#!/bin/bash
export FOO=1 # exports new FOO variable into currently running shell

test_bash_script.sh包含

代码语言:javascript
复制
#!/bin/bash
source ./bash_script
echo $FOO

在当前的外壳中,您

代码语言:javascript
复制
$ chmod +x test_bash_script.sh

然后

代码语言:javascript
复制
$ test_bash_script.sh      # => will echo '1' to stdout
$ echo $FOO                # => echoes nothing

第二行没有响应任何内容,因为FOO只在bash_script.shtest_bash_script.sh中都可用。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49072334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档