Я начал небольшой проект только для практики дома. Я использую raspberry pi с debian linux, на плате установлен веб-сервер apache 2, я понятия не имею о веб-сервере, но каким-то образом удалось создать html-страницу с кнопкой на ней и cgi-скриптом, работающим с кнопкой click. Cgi-скрипт имеет html-код, который реагировать на нажатие кнопки. Отображает привет, мир, за которым следует команда, вызывающая сценарий оболочки .sh.
У сценария оболочки есть следующая команда RPI.a (мой проект на языке c, который вызывает gpio pin, отлично работающий при выполнении сценария .cgi в командной строке.
1) Общее нажатие кнопки Html -> 2) вызывает cgi-скрипт (оболочка с html) -> 3) вызывает оболочку (.sh) ->, которая вызывает мигающий светодиод моего приложения.
Работает хорошо при выполнении .cgi вручную из командной строки. Но при нажатии кнопки из html он пропускает "$ (sh script.sh) и выполняет следующую строку.
Разрешения для всех файлов на чтение и выполнение для всех файлов.
.cgi скрипт
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>Bash as CGI"
echo "</title></head><body>"
echo "<h1>Hello world</h1>"
"$(sh Home_auto.sh)"
echo "skipps the program"
echo "</body></html>"
Мой скрипт Home_auto.sh
sudo RPI.a<<EOF
EOF
ДОБАВИЛ мое приложение Dir в $ PATH var.
Я обнаружил, что он не может выполнить мое приложение несколько раз, когда я не являюсь пользователем root. Команда RPI.a дисплея не найдена Пожалуйста, помогите мне с вызовом script.sh, который будет вызывать мое приложение RPI.a при нажатии кнопки.