![Bash 别名历史替换类似于 csh 中的 \!*](https://linux22.com/image/1305906/Bash%20%E5%88%AB%E5%90%8D%E5%8E%86%E5%8F%B2%E6%9B%BF%E6%8D%A2%E7%B1%BB%E4%BC%BC%E4%BA%8E%20csh%20%E4%B8%AD%E7%9A%84%20%5C!*.png)
我的问题与这篇旧帖子。
我想做类似的事情:将当前命令行上输入的最后一个参数放在别名中。这相当于可以csh \!*
在别名中使用的。
根据引用的帖子,问题似乎出在 bash 的历史记录扩展上,这就是为什么使用 fc 的原因。这个想法是让替换在命令字符串的中间工作,例如alias cat='cat -n !!:* && echo ""'
(作为简化的示例,由于扩展问题,它不起作用)。
但是,这与引用的帖子不同,因为我只想抓取第一个命令之外的参数(即在帖子中,它们抓取整行,而不是除了第零个参数,即命令本身之外的整行)。
在 bash 别名中执行此操作的最佳方法是什么?(注意:将其保留为别名,而不是寻找脚本或函数)。