當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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 \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。