gpt4 book ai didi

node.js - 是否可以通过 Node 运行source-cmd?

转载 作者:太空宇宙 更新时间:2023-11-03 22:45:29 25 4
gpt4 key购买 nike

Hoi,是否可以通过 Node 运行“source ./.bash_file”?尝试创建一个小工具来使用 electro-app 创建 ssh 别名,但无法更新 bash 文件以使新别名可用于终端。

谢谢

最佳答案

是的,您可以使用 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.shtest_bash_script.sh 中可用。

关于node.js - 是否可以通过 Node 运行source-cmd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49072334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com