从CGI脚本发送参数作为bash脚本参数

时间:2016-05-01 08:39:43

标签: linux bash shell csh

我试图通过我的cgi脚本将参数传递给我的bash脚本。这可能听起来有点令人困惑,所以这里有解释,

我有一个名为script.sh的bash脚本,它接受一个参数让我们说name 所以我像这样执行这个脚本,

bash script.sh myName

然后将该名称写入文本文件,然后我可以从该文本文件中读取它。

哪个工作正常,但我希望能够通过cgi执行相同的命令,所以我在我的cgi文件中执行了这个,

`/bin/echo "bash script.sh myName"`;

现在我通过我的网络服务器执行这个cgi脚本,

http://localhost/index.cgi

但是myName没有作为参数传递给我的bash脚本,因此没有任何内容写在文本文件中。

任何人都可以告诉我为什么当我运行cgi脚本时它不起作用但在没有cgi脚本的情况下运行时工作正常?

编辑:我也尝试过使用exec(),但争论仍未通过。

1 个答案:

答案 0 :(得分:2)

在你写的问题的评论中,CGI脚本是用CSH编写的。

然后它就像下面这么简单。

<强> script.csh

$(function () {
var data1 = [[1451599200000,0],[1454277600000,0],[1456783200000,104],[1459458000000,67]];
var data2 = [[1451599200000,48],[1454277600000,48],[1456783200000,53],[1459458000000,37]];

var options = {
      series: {
        bars: {
          show: true,
        }
      },
      xaxis: {
        mode: "time",
        timeformat: "%m-%Y",
      }
      };

var plotObj = $.plot($("#placeholder"), [{
        data: data1,
        label: "Data1",
      }, {
        data: data2,
        label: "Data2",
      }],
      options);
});

<强> script.sh

#!/bin/csh
./script.sh argX

测试script.csh

#!/bin/bash
echo 'hello,' $1

它不是你想要的,请澄清。