我有一个需要用户输入的shell脚本(“请选择y / n:”等)
我希望通过网页执行此操作。
关于我如何做到这一点的任何想法?我已经尝试过php shell_exec ...但它只执行命令而不提示输入。
不确定这是否可行......但是非常感谢任何帮助。
干杯
答案 0 :(得分:1)
通常,用户输入将使用HTML/Javascript
。然后将输入发布到URL(例如PHP
脚本),然后处理输入并执行脚本。
答案 1 :(得分:0)
enter code here
检查脚本以查看是否有任何标志强制脚本在没有用户输入的情况下运行。
通常,您可以通过编写以下内容来提供帮助:
yourscript /h
或
yourscript --help
可能有一面旗帜。在帮助中查找有关“强制”或“提示”的信息。如果不可用,如果您使用的是Linux / Unix环境,则可以创建一个将输入发送到其他脚本的新脚本。不确定它是否适用于Windows。
这是一个非常简单的例子:
echo y | yourscript
答案 2 :(得分:0)
唯一可以做到这一点的方法是以HTML格式重新创建CLI工具的配置部分,例如:
<form method="POST" action="/foo.php">
Please select:
<input type="radio" name="yesno" value="1">yes
<input type="radio" name="yesno" value="0">no
Some other option:
<input type="text" name"someoption">
</form>
之后你需要创建一个foo.php
来处理HEREDOC的输入部分,例如:
<?php
$aData = some_validation_and_data_preparation_method($_POST);
$sCmd = implode("\n", $aData);
$sOutput = shell_exec("./some_cli_tool << EOF
{$sCmd}
EOF");
print $sOutput;
注意实际HEREDOC缺少缩进(即EOF
标记之间)。