
Ich habe eine index.html
mit einem Link, der alle *.zips entfernen muss /mnt/sda1/down
.
Wenn ich auf den Link klicke, beginnt der Download, nicht die Ausführung des SH-Skripts.
Hier ist das index.html
und das sh-Skript:
#!/bin/sh
cd /mnt/sda1/down
rm *.zip
...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label><a href="delete.sh">DELETE ALL</a> </label>
</form>
</body>
</html>
Antwort1
Ihr Link führt zu einer Datei, die Ihr Browser nicht erkennt. Deshalb geht er davon aus, dass es sich um einen Download handelt.
Das Einfügen dieses Links in ein <form>
ändert nichts. Der Zweck des <form>
Elements besteht darin, Parameter zu sammeln, bevor die im Attribut „action“ angegebene URL aufgerufen wird (normalerweise mit einem <input type="submit">
Element im Formular).
Es ist nicht einmal klar, ob es sich um einen Server handelt. Wenn ja, um welchen Typ handelt es sich?
Antwort2
HTML hat diese Leistung nicht. Sie müssen PHP verwenden, da es als Backend-Sprache mit Ihrem Betriebssystem interagieren kann.
Sie können einen Link zu einer PHP-Datei erstellen. Wenn Sie auf den Link klicken, wird die PHP-Datei aufgerufen und das Skript ausgeführt. Anschließend können Sie angeben, dass Sie zur Startseite oder so zurückgeleitet werden sollen:
Index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<a href="delete.php">DELETE ALL</a>
</body>
</html>
löschen.php
<?php
echo shell_exec('sh /path/to/delete.sh');
header('Location: /'); #this will take you back to the home page
?>
Ursprünglicher Beitrag:https://stackoverflow.com/questions/7397672/wie-man-eine-sh-datei-von-php-ausführt