Hoi,是否可以通过节点运行“source ./.bash_file”? 尝试使用electronic-app创建一个小工具来创建ssh-alias,但是无法更新bash文件以使终端可以使用新的别名。
由于
答案 0 :(得分:2)
是的,请查看child processes。我认为exec
就是你所追求的目标。
答案 1 :(得分:2)
是的,您可以使用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
在当前的shell中,你
$ 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
中都可用。