Hoi,可以通过节点运行"source ./..bash_file“吗?尝试创建一个使用电子应用创建ssh别名的小工具,但不能更新bash文件以使终端可以使用新的别名。
谢谢
发布于 2018-03-02 15:58:46
是的,您可以使用child_process.spawn()或child_process.exec()来获取bash脚本。
,但是,它不会像我所期望的那样工作。
这是因为,在spawn创建一个新进程的同时,它还在该进程中启动了一个新的shell,在该过程中您的脚本将被源源,然后在新生成的进程结束时被终止。
如果您只需要新生成的shell上下文中可用的脚本的结果,则可以创建一个新脚本,该脚本首先来源于您的bash_file,然后在同一脚本的其他位置使用对当前运行的shell所做的任何更改。
假设:
bash_script.sh包含
#!/bin/bash
export FOO=1 # exports new FOO variable into currently running shell而test_bash_script.sh包含
#!/bin/bash
source ./bash_script
echo $FOO在当前的外壳中,您
$ chmod +x test_bash_script.sh然后
$ test_bash_script.sh # => will echo '1' to stdout
$ echo $FOO # => echoes nothing第二行没有响应任何内容,因为FOO只在bash_script.sh和test_bash_script.sh中都可用。
https://stackoverflow.com/questions/49072334
复制相似问题