php - 是否有一个脚本命令可以使用 bash 脚本从 php 文件执行特定的 php 方法
问题描述
我相信标题不言自明,但我会详细说明。我有一个名为 hello-world.php 的 php 文件。我还有一个名为 testBash.sh 的 bash 脚本。
在hello-world.php我有两个方法helloWorld()和helloName($name)
基本上我想做的是在我的 bash 脚本(testBash.sh)中......我想传入参数并执行helloName($name)方法。该参数将从 bash 脚本中给出。
这是我到目前为止所拥有的。
测试bash.sh
INPUT="Bobby"
// THIS IS WHERE I AM HAVING TROUBLE
TEST= php -r "require 'hello-world.php'; helloName("$INPUT");"
echo "$TEST"
你好世界.php
function helloWorld() {
return "Hello, World!";
}
function helloName($name) {
return "Hello, $name!";
}
在一个完美的世界中,当我回显“$TEST”时,应该显示该函数的结果。
例如:你好,鲍比!
这可能吗?我在网上寻找解决方案,但这是我找到的最接近的解决方案。任何意见或建议都会很棒。谢谢!
解决方案
这应该这样做:
TEST=$(php -r "require 'hello-world.php'; echo helloName(\"$INPUT\");")
我想这也应该有效(函数参数的单引号):
TEST=$(php -r "require 'hello-world.php'; echo helloName('$INPUT');")
基本上,
- 添加
echo
PHP 确保 php 命令将结果发送helloName
到输出, $(command)
告诉 bash 命令将其输出作为值返回,- 该值最终分配给
TEST
。
推荐阅读
- activemq-artemis - Wildfly 14 嵌入式 Artemis:根据 MessageDrivenBean 定义重新传递
- python - 当我尝试构建 PCA 图时,出现以下错误: ValueError: too many values to unpack (expected 2)
- javascript - “未捕获的类型错误:无法读取未定义的属性‘属性’”使用 mapbox 加载样式时
- json - 在 Spring Boot 中有效地匹配密码 - JPA
- testing - 尝试使用 powermock 测试静态方法
- python - 如何从 for 循环中的数据帧列表中获取/提取数据帧的名称以在同一个 for 循环中使用它?
- powershell - 在脚本中传递给可执行文件的参数
- java - Openjdsk 抛出 trustAnchors 参数必须为非空
- wpf - UniformGrid 中按钮的选取框/矩形选择
- jquery - focusout 上的验证消息移动按钮,它可以防止 onclick 事件