Skip to content

Commit

Permalink
(zh-CN) Rename def-env to the new def --env
Browse files Browse the repository at this point in the history
  • Loading branch information
arnau committed Nov 25, 2023
1 parent cda2b54 commit bba3a63
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 8 deletions.
6 changes: 3 additions & 3 deletions zh-CN/book/environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ $env.PATH = ($env.PATH | prepend '/path/you/want/to/add')
这些变量被定义为只在执行代码块的过程中临时有效。
详情请看 [一次性环境变量](environment.md#一次性环境变量)

### 调用[`def-env`](/commands/docs/def-env.md)定义的命令
### 调用[`def --env`](/commands/docs/def.md)定义的命令

详情见 [从自定义命令中定义环境](environment.md#从自定义命令中定义环境变量)

Expand Down Expand Up @@ -127,10 +127,10 @@ $env.FOO = 'BAR'
## 从自定义命令中定义环境变量

由于作用域规则,在自定义命令中定义的任何环境变量都只存在于该命令的作用域内。
然而,用[`def-env`](/commands/docs/def-env.md)而不是[`def`](/commands/docs/def.md)定义的命令(它也适用于`export def`,见 [模块](modules.md))将在调用者一方保留环境设置:
然而,用[`def --env`](/commands/docs/def.md)而不是[`def`](/commands/docs/def.md)定义的命令(它也适用于`export def`,见 [模块](modules.md))将在调用者一方保留环境设置:

```nu
> def-env foo [] {
> def --env foo [] {
$env.FOO = 'BAR'
}
Expand Down
2 changes: 1 addition & 1 deletion zh-CN/book/hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ $env.config = ($env.config | upsert hooks {
## 修改环境变量

钩子的一个特点是它们保留了环境。
在钩子**代码块**内定义的环境变量将以类似于 [`def-env`](environment.md#从自定义命令中定义环境变量) 的方式被保留下来。
在钩子**代码块**内定义的环境变量将以类似于 [`def --env`](environment.md#从自定义命令中定义环境变量) 的方式被保留下来。
你可以用下面的例子测试一下:

```nu
Expand Down
4 changes: 2 additions & 2 deletions zh-CN/book/modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export def hi [where: string] {

我们在 `greetings` 模块中定义了 `hello``hi` 两个自定义命令。`export`关键字使得以后可以从模块中导入该命令。

[`def`](/commands/docs/def.md)类似,也可以用`export`关键字标记[`def-env`](/commands/docs/def-env.md)(你可以在[环境](environment.md)章节中了解更多关于[`def-env`](/commands/docs/def-env.md)的信息)。
[`def`](/commands/docs/def.md)类似,也可以用`export`关键字标记[`def --env`](/commands/docs/def.md)(你可以在[环境](environment.md)章节中了解更多关于[`def --env`](/commands/docs/def.md)的信息)。

## 使用模块

Expand Down Expand Up @@ -199,7 +199,7 @@ hello Arthur, King of the Britons!
下面是所有你可以导出的列表:

- `export def` - 导出一个自定义命令
- `export def-env` - 导出一个自定义环境命令
- `export def --env` - 导出一个自定义环境命令
- `export env` - 导出一个环境变量
- `export alias` - 导出一个别名
- `export extern` - 导出一个已知外部命令的定义
Expand Down
4 changes: 2 additions & 2 deletions zh-CN/book/thinking_in_nu.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,8 @@ Nushell 从编译型语言中获得了很多设计灵感,其中一个是语言

`cd`命令改变了`PWD`环境变量,这个变量的改变只在当前代码块有效,如此即可允许每次迭代都从当前目录开始,进入下一个子目录。

环境变量具有作用域使命令更可预测,更容易阅读,必要时也更容易调试。Nushell 还提供了一些辅助命令,如[`def-env`](/commands/docs/def-env.md)[`load-env`](/commands/docs/load-env.md),作为对环境变量进行批量更新的辅助方法。
环境变量具有作用域使命令更可预测,更容易阅读,必要时也更容易调试。Nushell 还提供了一些辅助命令,如[`def --env`](/commands/docs/def.md)[`load-env`](/commands/docs/load-env.md),作为对环境变量进行批量更新的辅助方法。

`*` - 这里有一个例外,[`def-env`](/commands/docs/def-env.md)允许你创建一个可以修改并保留调用者环境的命令
`*` - 这里有一个例外,[`def --env`](/commands/docs/def.md)允许你创建一个可以修改并保留调用者环境的命令

**以 Nushell 的方式思考:** 在 Nushell 中,没有全局可修改变量的编码最佳实践延伸到了环境变量。使用内置的辅助命令可以让你更容易地处理 Nushell 中的环境变量问题。利用环境变量对代码块具有作用范围这一事实,也可以帮助你写出更简洁的脚本,并与外部命令互动,而不需要在全局环境中添加你不需要的东西。

0 comments on commit bba3a63

Please sign in to comment.