当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir System.shell用法及代码示例


Elixir语言中 System.shell 相关用法介绍如下。

用法:

shell(command, opts \\ [])
(自 1.12.0 起)
@spec shell(
  binary(),
  keyword()
) :: {Collectable.t(), exit_status :: non_neg_integer()}

在 OS shell 中执行给定的command

它对Unix-like 系统使用sh,对Windows 使用cmd

重要:小心使用此函数。特别是,永远不要将不受信任的用户输入传递给这个函数,因为用户可以通过直接在机器上执行任何代码来执行“命令注入攻击”。一般来说,比起这个函数,更喜欢使用 cmd/3

例子

iex> System.shell("echo hello")
{"hello\n", 0}

如果您想在输出到达时将输出流式传输到标准 IO:

iex> System.shell("echo hello", into: IO.stream())
hello
{%IO.Stream{}, 0}

选项

它接受与 cmd/3 相同的选项,但 arg0 除外。

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 System.shell(command, opts \\ [])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。