Вариант использования: мне нужно часто экспортировать KEY = value_file или cat value_file, и существует множество файлов, так что создание псевдонима для каждого из них невозможно. Рабочий процесс:
XXX$: `name of the function, say ABC` SPACE
Затем я нажму вкладку, и я хочу увидеть список файлов в определенном каталоге. что-то вроде
XXX$: ABC "cursor still here"
filea fileb filec
filed filee filef
И, наконец, я могу завершить свою команду
XXX$: ABC filee
Я думаю, что функция в моем bash_profile будет выглядеть примерно так, но следующее не работает.
complete -r ABC
ABC(){
COMPREPLY=$(ls somedir)
export KEY=$1
}
ps: какую команду нужно видеть man complete
? Я хочу видеть руководство по complete
вместо общих команд.
РЕДАКТИРОВАТЬ
благодаря укрытию я разобрался:
ABC(){
select f in $(ls mydir);
do
export KEY=mydir/$f;
break;
done
}
И есть еще одна альтернатива:
ABC(){
export KEY=mydir/$1
}
complete -W "$(ls mydir)" ABC