Deno 中的交互式 shell
Interactive shell in Deno
在 python 中,以下行生成交互式 shell,我可以像使用任何终端一样使用它。
os.system("bash");
在此处键入 exit 会退出 shell 并且 python 脚本会继续执行。
我怎样才能在 Deno 中做这样的事情?
编辑:我在最初的问题中应该更详细一点。我的意图不仅仅是 运行 一个 shell 命令。我想要 运行 一个交互式的 shell,它会抓取 input/output,直到我使用 exit 命令手动退出。
Deno.run({cmd: ["bash"]}) 不会这样做。
您需要等待进程(bash shell)退出。为此,您需要 await process.status()
.
// run using
// deno run --allow-run demo.js
const p = Deno.run({
cmd: ["bash"],
})
const status = await p.status()
console.log(status)
如果你想使用 Deno REPL,那么 运行-
await Deno.run({ cmd: ["bash"] }).status()
在 python 中,以下行生成交互式 shell,我可以像使用任何终端一样使用它。
os.system("bash");
在此处键入 exit 会退出 shell 并且 python 脚本会继续执行。
我怎样才能在 Deno 中做这样的事情?
编辑:我在最初的问题中应该更详细一点。我的意图不仅仅是 运行 一个 shell 命令。我想要 运行 一个交互式的 shell,它会抓取 input/output,直到我使用 exit 命令手动退出。 Deno.run({cmd: ["bash"]}) 不会这样做。
您需要等待进程(bash shell)退出。为此,您需要 await process.status()
.
// run using
// deno run --allow-run demo.js
const p = Deno.run({
cmd: ["bash"],
})
const status = await p.status()
console.log(status)
如果你想使用 Deno REPL,那么 运行-
await Deno.run({ cmd: ["bash"] }).status()