You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BASH命令中^符号有什么作用?^old^new语法如何替换历史命令?

Bash ^old^new 替换命令原理解答

你遇到的是Bash内置的*历史扩展(History Expansion)*功能中提供的快速替换语法,具体规则和运行逻辑如下:

语法规则

^旧字符串^新字符串^ (末尾的^可以省略)的作用是:取出上一条执行过的命令,把命令中第一个匹配到的旧字符串替换为新字符串,自动执行替换后的新命令。

场景逻辑还原

  1. 你执行两条替换命令之前,必然先运行了 ln file.txt link_hard.txt 来创建硬链接,这是替换的基础命令
  2. 输入 ^ln^stat 时,Bash将上一条命令开头的ln替换为stat,最终执行 stat file.txt link_hard.txt
  3. 此时你最近执行的命令已经变为 stat file.txt link_hard.txt,再输入 ^stat^ls -l^ 时,就会把开头的stat替换为ls -l,最终得到 ls -l file.txt link_hard.txt

实用补充

  • 该语法默认仅替换第一个匹配的字符串,若需要全局替换所有匹配内容,可使用 !!:gs/旧字符串/新字符串/ 写法
  • 若仅想预览替换结果、不想直接执行命令,可在替换语法末尾加:p参数,例如输入^ln^stat:p只会打印替换后的命令,不会自动运行

内容的提问来源于stack exchange,提问作者Sciadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:39:02