查看源代码 Mix.Shell 行为 (Mix v1.16.2)
定义 Mix.Shell
合同。
概要
回调
执行给定的命令并返回其退出状态。
执行给定的命令并返回其退出状态。
将给定的 ANSI 错误打印到 shell。
将给定的 ANSI 消息打印到 shell。
如果当前应用程序尚未打印,则将其打印到 shell。
提示用户输入。
提示用户确认。
提示用户确认。
回调
执行给定的命令并返回其退出状态。
cmd/2
的快捷方式,带有空选项。
执行给定的命令并返回其退出状态。
选项
此回调应支持以下选项
:print_app
- 当false
时,如果命令输出内容,则不打印应用程序名称:stderr_to_stdout
- 当false
时,不将 stderr 重定向到 stdout:quiet
- 当true
时,不打印命令输出:env
- 执行命令的环境选项:cd
- (从 v1.11.0 开始)运行命令的目录
所有内置 shell 都支持这些。
@callback error(message :: IO.ANSI.ansidata()) :: :ok
将给定的 ANSI 错误打印到 shell。
@callback info(message :: IO.ANSI.ansidata()) :: :ok
将给定的 ANSI 消息打印到 shell。
@callback print_app() :: :ok
如果当前应用程序尚未打印,则将其打印到 shell。
提示用户输入。
提示用户确认。
yes?/2
的快捷方式,带有空选项。
提示用户确认。
选项
:default
-:yes
或:no
(默认值为:yes
)
函数
@spec cmd(String.t(), keyword(), (binary() -> term())) :: exit_status :: non_neg_integer()
将给定的 command
作为 shell 命令执行,并为流式响应调用 callback
。
这最常由 shell 实现使用,但也可以直接调用。
callback
获取命令的输出数据。其返回值将被忽略。
选项
:cd
- (从 v1.11.0 开始)运行命令的目录:stderr_to_stdout
- 将 stderr 重定向到 stdout,默认值为 true:env
- 环境变量列表,默认为[]
:quiet
- 覆盖回调以不执行任何操作
@spec printable_app_name() :: atom() | nil
返回可打印的应用程序名称。
此函数返回当前应用程序名称,但前提是应打印应用程序名称。
调用此函数会自动将其值切换为 false
,直到重新进入当前项目。目的是避免多次打印应用程序名称。