gpt4 book ai didi

bash - 在 bash 命令行中插入当前路径

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

要在 bash 中运行程序,我通常使用相对路径,因为这样输入速度更快;例如,类似

me@host:~/dir/appX$  ./manage.py runserver

命令将被存储在历史记录中。要从历史记录中调用命令(CTRL+R 通常),我需要与运行它时在同一条路径上,这使得调用功能不太有用。

一种解决方案是第一次插入完整路径,但需要大量编写。

me@host:~/dir/appX$  /home/me/dir/appX/manage.py runserver

有没有办法(最好是内置的)在命令行中插入当前路径?或者更好的解决方案(应该适用于 bash)?

最佳答案

您可以在 bash 中使用 Tilde Expansion 执行此操作。您需要两个波浪线扩展相关的功能,只显示下面 man bash 的相关部分:

Tilde Expansion
If the tilde-prefix is a `~+', the value of the shell variable PWD
replaces the tilde-prefix.

tilde-expand (M-&)
Perform tilde expansion on the current word.

如其所说,您可以键入~+ 来获取当前路径。然后要展开它,您需要键入 M-&。所以键序列 ~+M-& 就是你所需要的。

我发现按下所有这些键有点困难,所以我为此创建了一个键绑定(bind)。在您的 ~/.inputrc 文件中添加如下一行:

"\C-a":"~+\e&"

有了这个,我现在可以在键盘上键入 ctrl+a 以在命令行上获取当前路径。

PS:ctrl+a 可能已经绑定(bind)到其他东西(可能是行首),在这种情况下,使用另一个组合键可能会更好。使用 bind -p 检查当前绑定(bind)。

关于bash - 在 bash 命令行中插入当前路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27844537/

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