在bash中,如何在输入命令行时扩展!$?

发布于 2025-01-03 08:40:18 字数 130 浏览 1 评论 0原文

有没有办法在命令行中扩展 !$ 同时在 shell 内交互式编辑命令?

例如,当我输入 ls !$ 时,我按下某个按钮,然后我会看到 !$ 的值是多少。

Is there a way to expand the !$ in command line while interactively editing the command inside shell?

For example, while I am typing ls !$, I press some button and then I see what is the value of !$.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

找回味觉 2025-01-10 08:40:18

您是否希望按字面意思处理该序列,而不进行任何扩展?您可以用撇号引用它: '!$'

UPDATE 如果您想在执行之前展开它,您可以使用 Ctrl-Alt-E ,但要注意它也会执行“单词扩展”,因此 !$ "single argument" 将扩展为 expanded_string single argument (无引号 => 两个参数)。

您还可以使用 Alt-_ (在 emacs 和 vi 模式下均有效)或 Alt-. (仅在 emacs 模式下有效)来插入直接上一个命令,没有任何扩展。

Do you want this sequence to be treated literally, without any expansion? You may quote it with apostrophes: '!$'

UPDATE If you want to expand it before executing, you may use Ctrl-Alt-E, but beware that it would perform "word expansion" as well, so !$ "single argument" would be expanded to expanded_string single argument (no quotes => two arguments).

You may also use Alt-_ (works in both emacs and vi modes), or Alt-. (works only in emacs mode) to just insert the last argument of the previous command directly, without any expansion.

鹿! 2025-01-10 08:40:18

您可以简单地使用:

!$:p

这将打印最近执行的命令的最后一个单词。

或者输入 Ctrl-Alt-e 展开 !$

或输入 ESC. 获取 !$

You can simple use:

!$:p

This will print the most recently executed command's last word.

Or type Ctrl-Alt-e to expand !$

Or type ESC. to get !$

一场信仰旅途 2025-01-10 08:40:18

您输入 !$,然后按:Alt-^!$ 立即展开。

感谢 @Alexishttps://stackoverflow.com/q/9360013/813665 让我了解了 Alt-^ 的力量。

You type !$ and after that you press: Alt-^ and the !$ is expanded immediately.

Thanks to @Alexis for his answer on https://stackoverflow.com/q/9360013/813665 that reveals me the power of Alt-^.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文