如何在Bash中复用首个参数值简化文件备份命令(无需别名)?
解决方法
1. 复用第一个参数作为第二个参数的一部分
当然可以,Bash提供了几种实用的方式实现这个需求:
- 大括号扩展(最推荐):直接在原文件名后追加
{,.后缀},Bash会自动展开成原路径和带后缀的目标路径。比如你的示例命令可以简化为:
执行时会自动解析为你原本的完整命令:cp /some/long/path/code.php{,.WIP_desc}cp /some/long/path/code.php /some/long/path/code.php.WIP_desc,完全不用重复输入冗长的路径。 - 历史参数快捷方式:如果刚用其他命令(比如
ls)访问过目标文件,也可以用!$指代上一条命令的最后一个参数,写成cp !$ !$.WIP_desc,不过这种场景下大括号扩展更直接高效。
2. 不创建别名的短命令写法
上面的大括号扩展就是最简洁的方案,只需要在原文件名末尾加{,.WIP_desc},既不用重复输入路径,也不需要创建任何别名。另外也可以借助Bash自动补全:输入原文件路径(按Tab快速补全)后,按Alt+.(或Esc+.)自动插入上一个命令的最后参数,但依然不如大括号扩展一步到位。
内容的提问来源于stack exchange,提问作者HealerLolCat
相关产品推荐
相关产品推荐

