我正试图通过cgi脚本将参数传递给bash脚本。这听起来可能有点混乱,下面是解释,
我有一个名为script.sh的bash脚本,它接受一个参数,比如name
所以我这样执行这个脚本,
bash script.sh myName
然后将名称写入文本文件,然后我可以从该文本文件中读取它。
它工作得很好,但是我想通过cgi执行同样的命令,所以我在我的cgi文件中执行了这个命令,

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

现在我通过我的web服务器执行这个cgi脚本,就像这样,
http://localhost/index.cgi

但是myName并没有作为参数传递给我的bash脚本,因此没有在文本文件中写入任何内容。
有谁能告诉我为什么当我运行cgi脚本时它不工作,但是当没有cgi脚本运行时它工作得很好?
编辑:我也试过使用exec(),但参数仍然不能通过。

最佳答案

在您对问题的评论中,您写道CGI脚本是用CSH编写的。
那就简单到如下。
脚本.csh

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

脚本.sh
#!/bin/bash
echo 'hello,' $1

测试脚本.csh
./script.csh
hello, argX

如果不是你想要的,请澄清。

关于linux - 从CGI脚本发送参数作为bash脚本参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36964735/

10-14 16:30
查看更多