Shell 中的感叹号不是用来大喊的

A shell exclamation mark is not for yelling. Be lazy.

Shell 中的感叹号不是用来大喊的

我们程序员都是懒鬼,但命令行里的重复劳动却让人头疼。这篇文章教你如何利用 bash、zsh 等 Shell 中的感叹号(!)语法,通过事件设计符和单词设计符,轻松复用历史命令、提取参数或修改路径。别再疯狂按上箭头了,学会 !!、!$、!:h 等技巧,配合 fc 命令,能帮你节省大量打字时间。记住,感叹号不是用来对同事大喊大叫的,而是用来在 Shell 里偷懒的利器。

感叹号不是用来大喊大叫的,至少在 Shell 里不是。
  1. userbinator

    每次有人提起这个,我都会想“哦对,我确实可以这么做”,然后立马就忘了。尤其是如果你打字很快,直接顺着思路把想要的命令打完,比在思维流里再插个“分支”去处理它要容易得多。出于同样的原因,我往往会直接 Ctrl+C 重来,而不是试图用退格键去修正。

  2. Terr_

    与其说是觉得它“酷”或者“有用”,我反而常常对命令行里确定某个东西到底在做什么这件事感到绝望,因为它有机地变得如此错综复杂。公平地说,我一直偏向于认为“只有最简单的脚本才应该用 Shell 语言写”。

    这也给审查和验证 Shell 命令是否无害且正确增添了一个引人入胜的新维度……还要多久,LLM 才会开始在它们想让我批准的小请求里(滥用)这个技巧?

  3. csydas

    如果你做过远程支持,! 调用对你的 sanity(理智)至关重要。

    在跳板机的远程会话中,试图在 hypervisor 控制台的窗口里输入 Shell 命令,那延迟和烦人程度简直令人痛苦不堪——这还假设你到客户端的远程会话连接本身表现良好的前提下。

同日更多故事

2026-08-12