我以前从未听说过 zsh,但当我更新到 Catalina 时,MacOS 迫使我放弃 bash,转而使用 zsh。但我最近在尝试使用cat >>
.我要添加的行是从终端中的其他位置复制并粘贴的:
$ cat >> test.txt
This is a test.
zsh: do you wish to see all 3734 possibilities (1867 lines)?
在本例中,我粘贴了整行“这是一个测试”。 (包括到行尾)。与 bash 不同,zsh 会(有时?)以反白方式打印粘贴的文本,直到我按回车键。在本例中,我按“Control-D”表示我已完成文本粘贴。此时,bash 会给我下一个提示,但是在这里,zsh 给我一条我不明白的消息。我正在强烈考虑回到 bash。但我很好奇:zsh 认为它在做什么?有其他人认为这是一个错误,或者至少是一个错误功能吗?它似乎也并不总是发生。有时我会得到不那么令人困惑但仍然不正确的信息:
zsh: command not found: This
答案1
如果你先粘贴
cat >> test.txt
然后按Enter,然后粘贴
This is a test.
进而
- 按,Enter然后按ControlD, 或
- 按ControlD 两次,
你会得到你正在寻找的结果(在第一种情况下,和输入后换行,在第二种情况下,没有)。
如果直接粘贴
cat >> test.txt
This is a test.
那么第二行不会cat
作为输入,但它将作为命令行中的第二行进入 Zsh。
- 如果您随后按Enter,Zsh 将尝试相应地执行这两行,从而导致
zsh: command not found: This
. - 如果您随后按ControlD,Zsh 将尝试在第二行为您列出完成情况,可能(但并非总是)导致
zsh: do you wish to see all 3734 possibilities (1867 lines)?
(取决于您何时何地执行此操作)。