【发布时间】:2020-09-20 07:23:19
【问题描述】:
我有一个非常简单的脚本,它使用 Vulkan API 对应用程序进行基准测试。它接受来自$1 的参数:
基准应用:
#!/usr/bin/env bash
VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=position=top-right $1
要使用它,我运行benchmark-app example-game。它将接受参数并按预期执行,但是当使用制表符完成时,它会在./ 中查找而不是$PATH。
【问题讨论】:
-
他……?我猜你的脚本在你的用户下运行?所以它应该有相同的环境。与登录时一样的变量。如果您的用户可以运行
$1,那么您的脚本应该没问题。 1 它是否适用于您在$1中输入的命令的完整路径? 2 调试:添加which "$1"作为脚本的第一行。它应该为您提供正确的路径。如果没有解决。 3 您可以添加echo "$PATH",以查看您的脚本使用的 PATH 变量。请更好地解释“使用制表符完成时”,您在尝试什么确切。 -
@Nic3500 我想要的是能够键入
benchmark-app exa,然后按键盘上的Tab 键并完成benchmark-app example-game。benchmark-app /usr/bin/exa,然后按 Tab 即可。benchmark-app example-game也可以,但参数必须逐字输入。
标签: bash gnu tab-completion