CGI (сценарий оболочки) не записывается в файл с помощью команды echo - PullRequest
0 голосов
/ 17 октября 2018

У меня проблемы с записью в файл с моим CGI.

Я делаю простую HTML-формуляр, чтобы нажать кнопку и написать фразу в файле .txt, но это не работает.

Сервер Apache2.

Скрипты работают, если выполняются в терминале.

ps.Последняя строка CGI работает, обновляя URL-адрес HTML-страницы.

file index.html

<html>
<title>BeagleBone</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<body>

<div class="w3-container w3-green">
  <h1>BeagleBone GPIO Control</h1> 
  <p>Acesso remoto a GPIO's em rede local</p> 
</div>

<div class="w3-row-padding">
  <div class="w3-third">
    <h2>GPIO x</h2>
    <p>Led blue</p>
    <form method="POST" action="/cgi-bin/led.cgi">
  <input type="submit" name="led" value="ON">
  <input type="submit" name="led" value="OFF">
</form>
  </div>

</body>
</html>

file led.gci

#!/bin/bash

LED_FILE="/home/gpcosta/Desktop/data.txt"

read CONTENT

if [ "$CONTENT" == "led=ON" ]; then
    echo "Apertou botao ON" >> $LED_FILE
elif [ "$CONTENT" == "led=OFF" ]; then
    echo "Apertou botao OFF" >> $LED_FILE
fi

echo "Content-type: text/html"
echo ""
echo '<html>'
echo '<meta http-equiv="refresh" CONTENT="0;url=http://192.168.15.20/index.html">'
echo '</html>'

Разрешения cgi ниже

введите описание изображения здесь

...