Я создал красивое автозаполнение для своего скрипта.
Но вот что: когда аргумент остается на усмотрение пользователя (например, первым аргументом является имя нового проекта), я Я хотел бы отобразить небольшую строку, описывающую то, что ожидается .
For example:
$> script [TAB][TAB]
<name of project>
$> script my_new_project
.
Конечно, я думал об этом:
if [ $COMP_CWORD -eq 1 ]; then
local IFS=$'\n'
COMPREPLY+=($(compgen -W "<name of project>"))
Проблема в том, что я получаю следующее:
$> script [TAB][TAB]
$> script <name of project>
То есть один определенный мной текст автоматически добавляется в командную строку, когда я нажимаю TAB.
.
Я тоже пробовал это:
local IFS=$':'
COMPREPLY+=($(compgen -W "Help: <domain name associated with the project>"))
Но результат искажен, и он все равно добавляет слова в командную строку:
$> script [TAB][TAB]
<domain name associated with the project> Help:
$> script <domain name associated with the project>
.
Пожалуйста , знаете ли вы , есть ли что-то вроде heredoc
для автозаполнения , где текст справки просто появляется, но не добавляется в командную строку?
Спасибо!