bash_completion для initscripts

В zsh $PATH связывается (см. typeset -T) к $path массив. Можно вынудить тот массив иметь уникальные значения с:

typeset -U path

И затем, добавьте путь с:

path+=(~/foo)

Не имея необходимость волноваться, было ли это уже там.

Для добавления его в передней стороне сделайте:

path=(~/foo "$path[@]")

или:

path[1,0]=~/foo

если ~/foo уже был в $path это переместит его в переднюю сторону.

4
19.11.2013, 01:00
1 ответ

На более старых версиях bash-completion, как одно доступное для CentOS на репозитории EPEL, существуют отдельные сценарии для sysvinit сервисов в /usr/share/bash-completion/. В этом случае можно хотеть добавить дополнительные сценарии там на основе примера как завершение чашек.

В более новых системах, как мой Fedora 19, завершение удара поставлется с _service() и _services() функции в основном /usr/share/bash-completion/bash-completion сценарий, это обеспечивает start и stop действия по умолчанию для любой установленной службы. Это должно работать из поля.

Если Вы также хотите поддерживать больше действий, добавьте действие Использования как это:

 *)
    echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"

Сценарий проанализирует эту строку и завершится status, restart, и так далее. Это предполагает использование оператора выбора как это для управления аргументом действия:

case $1 in
   start)
   [...]
   ;;
   stop)
   [...]
   ;;
   status)
   [...]
   ;;
   *)
      echo $"Usage: $0 {start|stop|status}"
esac
3
27.01.2020, 20:58
  • 1
    Там это. У меня нет доступа к компьютеру прямо сейчас, и пытался помнить первое, что пришло на ум. Только для добавления к этому некоторый Debian базировался, системам определили местоположение сценариев в отдельных местоположениях и символически связаны с/etc/bash-completion. –  Jeight 19.11.2013, 02:07

Теги

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