Skip to content

配置

¥Configuration

$.shell

指定使用什么外壳。默认为 which bash

¥Specifies what shell is used. Default is which bash.

js
$.shell = '/usr/bin/bash'

或者使用 CLI 参数:--shell=/bin/bash

¥Or use a CLI argument: --shell=/bin/bash

$.spawn

指定 spawn api。默认为 require('child_process').spawn

¥Specifies a spawn api. Defaults to require('child_process').spawn.

要覆盖同步 API 实现,请相应地设置 $.spawnSync

¥To override a sync API implementation, set $.spawnSync correspondingly.

$.prefix

指定将作为所有运行命令的前缀的命令。

¥Specifies the command that will be prefixed to all commands run.

默认为 set -euo pipefail;

¥Default is set -euo pipefail;.

或者使用 CLI 参数:--prefix='set -e;'

¥Or use a CLI argument: --prefix='set -e;'

$.postfix

$.prefix 类似,但用于命令结束。

¥Like a $.prefix, but for the end of the command.

js
$.postfix = '; exit $LastExitCode' // for PowerShell compatibility

$.preferLocal

指定是否优先使用位于 node_modules/.bin 的二进制文件而不是全局系统安装的二进制文件。

¥Specifies whether to prefer node_modules/.bin located binaries over globally system installed ones.

js
$.preferLocal = true

await $`c8 npm test`

你还可以指定一个目录来搜索本地二进制文件:

¥You can also specify a directory to search for local binaries:

js
$.preferLocal = '/some/to/bin'
$.preferLocal = ['/path/to/bin', '/another/path/bin']

$.quote

指定在命令替换期间转义特殊字符的函数。

¥Specifies a function for escaping special characters during command substitution.

$.verbose

指定详细程度。默认为 false

¥Specifies verbosity. Default is false.

在详细模式下,zx 打印所有执行的命令及其输出。

¥In verbose mode, zx prints all executed commands alongside with their outputs.

或者使用 CLI 参数:--verbose 设置 true

¥Or use the CLI argument: --verbose to set true.

$.quiet

抑制所有输出。默认为 false

¥Suppresses all output. Default is false.

通过 CLI 参数:--quiet 设置 $.quiet = true

¥Via CLI argument: --quiet sets $.quiet = true.

$.env

指定环境变量映射。

¥Specifies an environment variables map.

默认为 process.env

¥Defaults to process.env.

$.cwd

指定使用 $ 创建的所有进程的当前工作目录。

¥Specifies a current working directory of all processes created with the $.

cd() 函数仅更改 process.cwd(),如果未指定 $.cwd,则所有 $ 进程默认使用 process.cwd()(与 spawn 行为相同)。

¥The cd() func changes only process.cwd() and if no $.cwd specified, all $ processes use process.cwd() by default (same as spawn behavior).

$.log

指定 日志函数

¥Specifies a logging function.

ts
import {LogEntry, log} from 'zx/core'

$.log = (entry: LogEntry) => {
  switch (entry.kind) {
    case 'cmd':
      // for example, apply custom data masker for cmd printing
      process.stderr.write(masker(entry.cmd))
      break
    default:
      log(entry)
  }
}

google/zx 中文网 - 粤ICP备13048890号