在 bash 中创建空文件的简写在 zsh 中无法正常工作

ooo*_*ooo 2 linux macos bash zsh io-redirection

在 bash 中,可以使用以下命令创建一个空文件:

> empty_file.txt
Run Code Online (Sandbox Code Playgroud)

在 zsh 中,同样的命令卡住了,需要停止。尽管如此,文件还是会被创建。

我想知道是什么导致了这种行为和/或如何使它类似于 bash?

编辑:错别字。

tha*_*guy 5

如果您没有为重定向指定命令,那么 Bash 的行为(根据 POSIX)就好像该命令是true. 默认情况下,除非在兼容模式下,否则zsh将表现为命令是cat.

您可以简单地明确指定命令true(或其难以阅读的别名:)以使两个 shell 的行为相同:

: > empty_file.txt
Run Code Online (Sandbox Code Playgroud)

以下man zsh解释了您可以用来调整它的行为和选项:

: > empty_file.txt
Run Code Online (Sandbox Code Playgroud)