У меня есть index.html со ссылкой, которая должна удалить все * .zip из /mnt/sda1/down .

Когда я нажимаю на ссылку, она начинает загружаться, чтобы не выполнять скрипт sh.

Вот index.html и скрипт sh:

#!/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>

2 ответа2

0

Ваша ссылка - это ссылка на файл, который ваш браузер не распознает, поэтому он предполагает, что это загрузка.

Размещение этой ссылки в <form> ничего не меняет. Цель элемента <form> - собрать параметры перед вызовом URL-адреса, указанного в атрибуте "action" (обычно с элементом <input type="submit"> в форме).

Даже не ясно, что здесь задействован сервер. Если да, то какой это тип?

0

HTML не имеет этой силы. Вам нужно использовать PHP, так как он может взаимодействовать с вашей ОС, так как это внутренний язык.

Что вы можете сделать, это создать ссылку на php-файл, и при щелчке по ссылке он перейдет к файлу PHP, выполнив скрипт, а затем вы можете сказать ему перенаправить вас обратно на домашнюю страницу или что-то в этом роде:

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>

delete.php

<?php
echo shell_exec('sh /path/to/delete.sh');
header('Location: /'); #this will take you back to the home page
?>

Исходное сообщение: https://stackoverflow.com/questions/7397672/how-to-run-a-sh-file-from-php

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .