我尝试编写一个bash脚本来执行带前缀(例如"DRI_PRIME=1 glxspheres"
)的命令。这是我目前的剧本:
#!/bin/bash
_graphic() {
export IFS=":"
PATHCONTENT=()
for CONTENTPATH in $PATH; do
PATHCONTENT+=$(ls $CONTENTPATH)
done
COMPREPLY=$PATHCONTENT;
}
complete -F _graphic graphic
DRI_PRIME=1 "$@"
但是这个脚本不会自动填充$ PATH变量中的文件夹。这有什么问题?
答案 0 :(得分:1)
我不是百分之百确定问题是什么,但似乎你想要一种方式告诉
$ graphic my_app param blah
它实际上会运行
$ DRI_PRIME=1 my_app param blah
如果是这样,那就很容易了,bash本身就是为你做的:
$ cat a.sh
function graphic {
DRI_PRIME=1 "$@"
}
complete -A command graphic
完成-A命令使bash建议命令名称(你使用完成-F _graphic ,这使得bash调用函数可以获得可能的完成)。