我有一个通过PHP文件调用的bash脚本。首先,这些文件的内容如下:
script.sh
#!/bin/bash
term=$1
curl -H "Accept: text/plain" -s "https://some-api.com/search?term=$term&limit=1"
php文件
<?php
$message = shell_exec("script.sh '".$term."'");
$term = escapeshellarg($term);
print_r($message);
?>
在上面的例子中,script.sh
通过运行类似于./script.shsearch tion
的内容来查找。
但是,当运行PHP文件来获取相同的信息时,我得到了错误。
最终,我想通过一个PHP文件运行一个bash脚本,包括参数。
我花了大部分时间尝试使用这个答案中提出的解决方案,感觉我的PHP文件应该可以工作。
我知道我的脚本和编码肯定很混乱,显然没有工作——有人对我可能做错的事情有任何意见吗?
问题内容: 我正在使用shell_exec方法从PHP调用test.sh。 但是,命令行脚本说它仅收到1个参数:/tmp/my_script.php 当我将呼叫更改为: 码: 它说它收到了3个参数,但是argv [1]和argv [2]为空。 当我将呼叫更改为: 码: 脚本最终将按预期接收所有3个参数。 您是否始终需要使用脚本发送仅带引号的文本,并且不允许发送$ var这样的变量?还是有一些特殊的
问题内容: 我正在尝试编写一个bash脚本,该脚本允许用户使用通配符传递目录路径。 例如, 在此目录中执行时 将输出: 现在的样子,它输出: 的内容: 问题答案: 父外壳(一个调用)为您扩展了外壳。 在脚本中,您需要使用: 双引号确保正确处理文件名中的多个空格等。 可能令人困惑的附录 如果您确实确定要扩展该脚本,则必须确保将其传递给脚本(如其他答案中所述,用引号引起来),然后确保在正确的位置将其扩
我调用test.sh从PHP使用shell_exec方法。 然而,命令行脚本说它只收到一个参数: /tmp/my_script.php 当我将呼叫更改为: 代码: 它说它收到了3个参数,但是argv[1]和argv[2]是空的。 当我将呼叫更改为: 代码: 脚本最终按预期接收所有3个参数。 您是否总是必须随脚本发送仅引用的文本,并且不允许发送$var之类的变量?或者你有没有什么特殊的方式发送$va
问题内容: 我有一个Linux bash脚本“ myshell”。我希望它读取两个日期作为参数,例如:。我是Java程序员,但不知道如何编写脚本来完成此任务。 脚本的其余部分如下所示: 问题答案: 您在脚本中使用,例如
问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对
我在解一个有很多常数的非线性方程 我创建了一个用于解决以下问题的函数: 然后我想做: 但是正在解包并向函数传递太多参数,因此我得到: TypeError:terminalV()正好接受2个参数(给定6个) 那么,我的问题是,我是否可以通过某种方式将元组传递给调用的函数?