В zsh
$PATH
связывается (см. typeset -T
) к $path
массив. Можно вынудить тот массив иметь уникальные значения с:
typeset -U path
И затем, добавьте путь с:
path+=(~/foo)
Не имея необходимость волноваться, было ли это уже там.
Для добавления его в передней стороне сделайте:
path=(~/foo "$path[@]")
или:
path[1,0]=~/foo
если ~/foo
уже был в $path
это переместит его в переднюю сторону.
На более старых версиях 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