相关疑难解决方法(0)

如何让bash在选项卡完成期间停止转义$?

我在命令行上有这个:

ln -sf $PWD/wine-
Run Code Online (Sandbox Code Playgroud)

然后我点击Tab完成文件名。在早期版本的 Ubuntu 中,这可以很好地完成wine-文件名(并且$PWD在当时会扩展副作用)。但现在它变成了

ln -sf \$PWD/wine-
Run Code Online (Sandbox Code Playgroud)

这根本不是我的意思,也没有完成任何事情,因为该文件并不是从字面上开始的 $.

我如何完成恢复到较少损坏的行为?

set 告诉我这些是我当前的设置:

BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
Run Code Online (Sandbox Code Playgroud)

command-line bash

68
推荐指数
4
解决办法
2万
查看次数

在 Ubuntu 20.04 LTS 终端上使用环境变量名称时如何禁用自动反斜杠插入

当我在 Ubuntu 20.04 LTS 终端上使用环境变量名称并按Tab自动完成时(我已经测试了 Ubuntu 20.04 LTS 安装和终结器附带的两个终端,两者的行为相同),Ubuntu 在美元符号 $ 之前插入反斜杠 \ ,导致环境变量不再按预期工作。

例如,之前在 Ubuntu 18.04 LTS 终端上:

ll $HOME/Deskt (+TAB) -> ll $HOME/Desktop/
Run Code Online (Sandbox Code Playgroud)

现在在 Ubuntu 20.04 LTS 终端上:

ll $HOME/Deskt (+TAB) -> ll \$HOME/Desktop/
Run Code Online (Sandbox Code Playgroud)

不用说,后者的结果是

ls: cannot access '$HOME/Desktop/': No such file or directory
Run Code Online (Sandbox Code Playgroud)

那么如何禁用自动\插入呢?

command-line bash environment-variables 20.04

3
推荐指数
1
解决办法
1582
查看次数

标签 统计

bash ×2

command-line ×2

20.04 ×1

environment-variables ×1