在破折号中添加自动补全

在破折号中添加自动补全

dash是否有可能在像这样的 shell中至少获得“一些”自动完成功能bash

至少对于路径中的现有文件名而言。

答案1

不,破折号没有补全功能。否则它就会被称为 bash。 Dash 旨在快速执行 shell 脚本并占用最少的内存,它并不是为了交互使用而设计的。

在 dash 中完成的最佳方法是运行exec zshexec fish。或者,如果您想坚持使用不使用太多内存的 shell,请使用包含完成功能的 BusyBox sh 构建。

如果你想坚持使用破折号,你可以做人们在完成之前所做的事情:使用通配符。例如,不要键入文件名前缀然后按Tab,而是键入文件名前缀然后键入*。前缀必须是唯一的,否则将插入多个文件名。

要列出“完成”,请调用ls或运行echo通配符模式。

如果多次使用相同的文件名(或其他字符串),请将其存储在变量中。

答案2

建议替代方案(@...)

为什么dash?对我来说是常驻内存使用情况。 (我使用 yakuake,这里每个 bash 选项卡是 34MB。破折号是 708KB。)问题是我经常输入 bash 来自动完成。

另一种选择:yashRSS=1080KB,具有出色的自动完成功能(可能比 bash 的更友好)。我在 yakuake 上将其设置为默认值,无论我打开多少个选项卡,它都非常容易记忆。

我发现让 yakuake 启动 yash 并.yashrc启动 bash 使用 +-9MB RSS 而不是 34MB!然后,如果我想保留像 htop 这样的东西,我只需退出 bash 并再次获取 yash 低内存来运行它!

互补https://unix.stackexchange.com/a/158523/30352
exec zsh使用了 5.5MB RSS (...@),因为您可能不想坚持使用破折号:)

观察:RSS 直通htop

相关内容