2011-06-04 5 views
10

Je souhaite lancer un script bash lorsqu'un bouton est enfoncé sur un site Web. Ceci est ma première tentative:Exécution d'un script shell avec un bouton html

<button type="button" onclick="/path/to/name.sh">Click Me!</button> 

Mais pas de chance. Aucune suggestion?

+3

que vous essayez d'exécuter le script sur la machine de l'utilisateur ou sur le serveur? – Mat

+1

sur le serveur. Je cours Debian – dukevin

+0

@Mat Qu'en est-il de l'exécution du script sur la machine de l'utilisateur? – iwantmyphd

Répondre

16

Comme l'a déclaré Luc vous devez utiliser un langage côté serveur, comme php. Ceci est un exemple de php très simple:

<?php 
if ($_GET['run']) { 
    # This code will run if ?run=true is set. 
    exec("/path/to/name.sh"); 
} 
?> 

<!-- This link will add ?run=true to your URL, myfilename.php?run=true --> 
<a href="?run=true">Click Me!</a> 

Enregistrer ce que myfilename.php et placez-le sur une machine avec un serveur web avec php installé. La même chose peut être accomplie avec asp, java, ruby, python, ...

+2

Cette réponse fonctionne sur mon bureau Ubuntu avec Apache2 et php5 installé. Voici quelques informations supplémentaires pour aider à mieux comprendre cette réponse: 1. "myfilename.php" peut être placé sous le répertoire racine du serveur web (DocumentRoot) qui est habituellement "/ var/www". 2. "myfilename.php" contient le code ci-dessus, plus un autre code HTML. 3. Le client Web utilise " /myfilename.php" comme adresse HTTP. – jonathanzh

5

PHP est probablement le plus facile.

Il suffit de créer un fichier script.php qui contient <?php shell_exec("yourscript.sh"); ?> et d'envoyer une personne qui clique sur le bouton à cette destination. Vous pouvez renvoyer l'utilisateur vers la page originale avec en-tête:

<?php 
shell_exec("yourscript.sh"); 
header('Location: http://www.website.com/page?success=true'); 
?> 

Référence: http://php.net/manual/en/function.shell-exec.php

3

Ceci est vraiment juste une extension de la réponse de BBB qui conduisent à d'obtenir mon expérience de travail.

Ce script créera simplement un fichier/tmp/testfile lorsque vous cliquerez sur le bouton "Open Script".

Cela nécessite 3 fichiers.

  1. Le site Web HTML actuel avec un bouton.
  2. Un script php qui exécute le script
  3. un script

L'Arbre du fichier:

[email protected]:/var/www/html# tree testscript/ 
testscript/ 
├── index.html 
├── testexec.php 
└── test.sh 

1. La principale WebPage:

[email protected]:/var/www/html# cat testscript/index.html 
<form action="/testscript/testexec.php"> 
    <input type="submit" value="Open Script"> 
</form> 

2. Le PHP page qui exécute le script et redirige vers la page principale:

[email protected]:/var/www/html# cat testscript/testexec.php 
<?php 
shell_exec("/var/www/html/testscript/test.sh"); 
header('Location: http://192.168.1.222/testscript/index.html?success=true'); 
?> 

3.Le script:

[email protected]:/var/www/html# cat testscript/test.sh 

#!/bin/bash 

touch /tmp/testfile 
+0

si c'est possible d'exécuter l'exe du fichier sh? mon environnement est windows os. je veux exécuter l'exe du navigateur j'ai cherché au cours des trois derniers jours rien ne m'aide – Karthi

Questions connexes