如何通过html“按钮单击”调用“ JS文件”,并且JS文件正在使用shell.js运行bash脚本

时间:2019-02-14 14:08:54

标签: javascript html node.js bash shelljs

我想通过html按钮单击连接到“ server.js”文件。

“ server.js”文件正在使用shell.js运行“ bash.sh”文件

任何人都可以就如何进行提供一些想法或指示吗?

button.html

<!DOCTYPE html>
<html>
<body> 

<button onclick="myFunction()">Click me</button>

<p id="demo"></p>

<script src="server.js"></script>

</body>

client.js

function myFunction() {
      document.getElementById("demo").innerHTML = "Hello World";
    }

server.js

const shell = require('shelljs');
shell.exec('./bash.sh')

bash.sh

#!/bin/bash

printf "command 1 is running...\n\n"

mlpack_linear_regression --training_file aircon.csv -v -M lr.xml

printf "\ncommand 2 is running...\n\n"

mlpack_linear_regression --training_file aircon.csv --test_file 
predict.csv --output_predictions_file prediction.csv -v

printf "\nPredicted Output: \n\n"

cat prediction.csv # after this command the result should shown on 
                   #the browser screen


echo "hello" >> file # To test if connection is happening or not 
                     #by writing a string in a file

1 个答案:

答案 0 :(得分:3)

请参阅shell.js的文档。它说:

  

Node.js的便携式Unix shell命令

您正在尝试在网络浏览器中使用它。它并非旨在在网络浏览器中运行,因此无法在其中运行。

您需要使用Node.js运行它。


可以使用Node.js编写HTTP服务器,然后使用Ajax(或仅单击常规链接或提交表单)向该服务器发出HTTP请求,以使其执行任何操作您希望外壳具有这种功能。