HTML의 링크가 .sh 파일을 실행할 수 없습니다.

HTML의 링크가 .sh 파일을 실행할 수 없습니다.

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>

답변1

귀하의 링크는 귀하의 브라우저가 인식하지 못하는 파일에 대한 링크이므로 다운로드라고 가정합니다.

해당 링크를 에 넣어도 <form>아무런 변화가 없습니다. 요소 의 목적은 "action" 속성(보통 양식의 요소 <form>포함)에 지정된 URL을 호출하기 전에 매개변수를 수집하는 것입니다 .<input type="submit">

관련된 서버가 있는지조차 확실하지 않습니다. 그렇다면 어떤 유형인가요?

답변2

HTML에는 이러한 기능이 없습니다. PHP는 백엔드 언어이기 때문에 OS와 상호 작용할 수 있으므로 사용해야 합니다.

당신이 할 수 있는 일은 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>

삭제.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

관련 정보