Я знаю, что этот вопрос задавался ранее, но я не могу найти решение своей проблемы, я просто не могу запустить скрипт при запуске. Вот мой сценарий:
#!/bin/bash
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -p tcp --sport 22 -j ACCEPT
Я положил это в /etc/init.d
каталог
Удостоверился, что у него был исполняемый файл chmod 755 /etc/init.d/iptables.sh
И сделано touch /etc/rc3.d/S01iptables.sh
Но ничего :( ... Есть предложения?
[Ноябрь 2017] Принятый ответ здесь следует считать устаревшим, см. Https://raspberrypi.stackexchange.com/a/75057/5538.
update-rc.d
команда сработала: D ... Я использовал ее раньше, но, похоже, она просто возвращала ошибку, поэтому я проигнорировал ее, Lol ... Спасибо за помощь: Dsudo update-rc.d nameofscript.sh defaults
, по крайней мере, на Джесси, чтобы избежатьupdate-rc.d: error: initscript does not exist: /etc/init.d//etc/init.d/nameofscript.sh
.Вы также можете настроить cronjob ( см. Руководство ), чтобы он запускался при запуске
добавляйте только
sudo
если вашему сценарию нужны привилегии суперпользователя. Затем добавьте это в ваш crontab:источник
Вы можете добавить свою исполняемую команду скрипта внизу,
.bashrc
которая будет запускать ваш скрипт при каждом входе в систему .Убедитесь, что вы находитесь в
pi
папке:Создайте файл и напишите скрипт для запуска в файле:
Сохранить и выйти: Ctrl+ X, Y,Enter
Откройте
.bashrc
для конфигурации:Прокрутите вниз и добавьте строку:
./superscript
Сохранить и выйти: Ctrl+ X, Y,Enter
Если вы ищете решение, которое работает при загрузке с консоли , посмотрите эту ссылку . Основное краткое изложение:
Создайте файл для вашего скрипта запуска и запишите свой скрипт в файл:
Сохранить и выйти: Ctrl+ X, Y,Enter
Сделайте скрипт исполняемым:
Зарегистрируйте скрипт для запуска при запуске:
Если вы хотите, чтобы скрипт запускался при загрузке в среде LXDE , вы можете взглянуть на это сообщение на форуме Raspberry Pi :
Перейдите к
~/.config/lxsession/LXDE-pi
Откройте
autostart
файл в этой папке:Добавьте
@bash /path/to/scriptname &
на новую строку. Если вы хотите запустить что-то вроде скрипта Python, поместите что-то вроде@python mypython.py
новой строки. Запустить файл сценария можно@./superscript
, но по какой-то причине сценарий выполняется в бесконечном цикле (возможно, это остановит это).Сохранить и выйти: Ctrl+ X, Y,Enter
Перезапустите Raspberry Pi в среде LXDE.
взято из Выполнить скрипт при запуске
источник
Я обычно просто добавляю строку для выполнения скрипта
/etc/rc.local
, например/path/to/my/script.sh &
, перед последней строкой, в которой естьexit 0
. Я добавил «&» для отправки сценария в фоновый режим, если он не возвращается, иначе следующие команды не будут выполнены.Так что в вашем случае я бы просто добавил две строки
в конце как
/etc/rc.local
раз передexit 0
.источник