Распространяемое завершение для моих сценариев удара

В статической системе (т.е. когда никакие изменения не происходят), да, существует алгоритм. Существует конечное число символьных ссылок, таким образом, они составляют конечный график, и циклы обнаружения являются финитарным процессом.

В живой системе нет никакого способа обнаружить циклы, потому что символьные ссылки могут измениться, в то время как детектор цикла работает. Чтение каждой символьной ссылки является атомарным, но переходить по символьной ссылке не. Если некоторые символьные ссылки продолжают изменяться, в то время как ядро делает обход, оно могло закончиться на бесконечном пути, включающем отличные ссылки.

3
01.06.2014, 13:11
1 ответ

В домашних каталогах нет стандартного места для дополнений bash. Вы можете либо проинструктировать людей скопировать ваш код завершения в их .bashrc , либо дать им указание сохранить где-нибудь ваш сценарий определения завершения (который не должен быть в их $ PATH ) и исходный код это из их .bashrc . Я рекомендую второй вариант, так как он значительно упрощает обновление.

. ~/.bash_completions/jmc_app

Обычно ваши завершения должны быть определены в скрипте с тем же именем, что и программа, для которой он завершается, содержащем определение функции с тем же именем с добавленным подчеркиванием и вызовом complete для установки завершения. :

# jmc_app completion
_jmc_app () {
  …
}
complete -F _jmc_app jmc_app
3
27.01.2020, 21:23

Теги

Похожие вопросы