Почему пользовательская вкладка имен заданий upstart не завершена в служебной команде?

16

Я привык создавать сервисы upstart с файлом в нем, /etc/init/<service>.confи он прекрасно работает, единственное, что я хотел бы, это иметь завершение табуляции так же, как и у каждого сервиса в /etc/init.d/ прямо сейчас.

При написании службы sudo xx название службы должно появляться.

Есть ли способ добавить сервис upstart в этот список автозаполнения?

Хосе Ф. Романиелло
источник
Привет, ты пробовал раньше?
rɑːdʒɑ

Ответы:

25

Каждый пакет, который предоставляет стандартный демон, использующий upstart, должен предоставлять символическую ссылку в соответствии /etc/init.dс политикой Debian. Так что автозаполнение для уже работает. Убедитесь, что у вас установлен пакет, если у вас возникли проблемы.sudo service namebash-completion

Если вы создаете свои собственные рабочие места выскочки, то символические ссылки на как и другие рабочие выскочки делают уже. Это заставит ваши собственные рабочие места работать так же./etc/init.d/your_job/lib/init/upstart-job

Есть специальные выскочки, в /etc/initкоторых нет соответствующей записи /etc/init.d. Это исключение. Из политики Debian:

Исключением из этого правила являются сценарии или задания, предоставляемые самой реализацией init; такие задания могут потребоваться для специфичного для реализации эквивалента скриптов /etc/rcS.d/ и могут не иметь однозначного соответствия со скриптами инициализации.

Эти исключения в настоящее время не работают bash-completion. Тем не менее, вы можете использовать start, stop, restartи reloadнепосредственно без service, и автодополнение будет работать. Например, sudo start shutправильно автозаполнение. Но обычно вам не нужно напрямую вызывать выскочившие задания, у которых нет соответствующей init.dзаписи.

Примечание: я проверял это на Saucy. Если поддержка не появляется в более старом выпуске, возможно, ее там нет (но вы получите ее в ближайшее время, когда перейдете на достаточно новый выпуск).

Роби Басак
источник
Ошибка на Launchpad: bugs.launchpad.net/ubuntu/+source/bash-completion/+bug/1188897
оснастка