从 CGI 脚本发送参数作为 bash 脚本参数
Sending argument from CGI script as bash script argument
我试图通过我的 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()
但争论仍然没有通过。
在你写的问题的评论中,CGI 脚本是用 CSH 编写的。
那么就这么简单
script.csh
#!/bin/csh
./script.sh argX
script.sh
#!/bin/bash
echo 'hello,'
测试中script.csh
./script.csh
hello, argX
这不是您要找的,请说明。
我试图通过我的 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()
但争论仍然没有通过。
在你写的问题的评论中,CGI 脚本是用 CSH 编写的。
那么就这么简单
script.csh
#!/bin/csh
./script.sh argX
script.sh
#!/bin/bash
echo 'hello,'
测试中script.csh
./script.csh
hello, argX
这不是您要找的,请说明。