Я сделал сценарий инициализации для призрачного сайта. Я использую Linux Mint 16 (также известный как Ubuntu 13.10)
Когда я набираю это, мой сценарий не отображается при автозаполнении.
sudo service f<tab>
По какой причине? Я получаю другой сценарий "friendly_recover", но не мой.
Спасибо!
Майк
/etc/init/f Furtheryet.org.conf
# furtheryet.org
start on startup
script
cd /var/www/furtheryet.org/ghost
npm start --production
end script
Это старый вопрос, но я получил его через Google, и выбран неверный ответ.
Выскочки должны быть размещены в /etc/init
папка.
Каждый пакет, который предоставляет стандартный демон, использующий выскочку, должен предоставить символическую ссылку в /etc/init.d в соответствии с политикой Debian.
Тогда будет работать автодополнение имени службы sudo.
В / etc / init есть специальные задания-выскочки, для которых нет соответствующей записи в /etc/init.d. Это исключение.
Если вы находитесь в том же типе каталога ./f
затем ударил <tab>
. В противном случае вам нужно ввести: /etc/init/f
прежде чем ты ударил <tab>
.
И ваш скрипт должен быть исполняемым:
chmod +x /etc/init/furtheryet.org.conf
Вы ожидаете, что sudo service f<tab>
будет автоматически заполнено sudo service furtheryet.org.conf
?
Нет, не будет, потому что:
Вы должны учитывать /etc/init.d
папка:
В /etc/init/
папка содержит только файлы конфигурации, используемые Upstart
.
В /etc/init.d
папка содержит сценарии оболочки, которые отвечают на start
, stop
, restart
, reload
(и что бы вы ни реализовали).
Дальнейшее чтение : https://askubuntu.com/questions/5039/what-is-the-difference-between-etc-init-and-etc-init-d
Тем не менее, чтобы ваш скрипт выполнялся автоматически, вы должны хотя бы поместить его в /etc/init.d
папку и сделайте ее исполняемой.
Но на самом деле ваш сценарий - это просто файл конфигурации. Вам следует подумать о написании конкретного сценарий службы / инициализации и положи это в свой /etc/init.d
папка.
В некоторых случаях я заметил, что даже если скрипт находится в /etc/init.d
у вас могут быть проблемы с автозаполнением на Ubuntu 13.10
так как root
пользователь.
Чтобы исправить это, как пользователь root, отредактируйте $HOME/.bachrc
файл и раскомментируйте следующее:
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
Затем перезагрузите свой .bashrc
файл, запустив: . $HOME/.bashrc