gpt4 book ai didi

bash - 使用 bang dollar (`!$` 的参数扩展)

转载 作者:行者123 更新时间:2023-11-29 09:04:04 24 4
gpt4 key购买 nike

有什么方法可以在参数扩展上下文中使用 !$ 吗?激发这个问题的理想用法是快速(根据击键)更改文件名(例如,不是将文件名保存在变量中并执行 rsvg-convert $svg > ${svg/.svg/.png},可以改为使用 rsvg-convert $! > $!{/.svg/.png},其中 $!{/.svg/.png} 是暗示预期效果的错误语法;当所讨论的文件是前一行的最后一个标记时,通常可以比在存在文件共享的情况下使用制表符补全等替代方法更快地键入这样的命令不同长度的前缀,或通过鼠标选择复制和粘贴文件名)。据我所知,在这种情况下无法使用 !$,但也许通过一些诡计可以达到类似的效果。

最佳答案

根据您希望替换的复杂程度,历史扩展确实支持用另一个字符串替换第一次出现的字符串。您只需在替换之前加上 : ,例如:

rsvg-convert !$ > !$:s/.svg/.png

可以看到所有的历史修改器here

至少在 emacs 模式下,如果您按 alt+,bash 还会将上一个命令的最后一个参数内联(在运行命令时不用于扩展)。。所以在这种情况下,键入可能是最快的:

rsvg-convert

然后 alt+.>alt+. 然后删除扩展它只是用 alt+bksp 放置,然后是新的扩展:png

关于bash - 使用 bang dollar (`!$` 的参数扩展),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44479441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com