Есть ли команда сценариев, которая может выполнить определенный метод php из файла php, используя скрипт bash - PullRequest
1 голос
/ 29 октября 2019

Я считаю, что название говорит само за себя, но я уточню немного подробнее. У меня есть php файл с именем hello-world.php. У меня также есть bash-скрипт с именем testBash.sh.

Внутри hello-world.php У меня есть два метода helloWorld () и helloName ($имя)

По сути, я хочу сделать это из моего скрипта bash ( testBash.sh ) ... Я хочу передать параметр и выполнить helloName ($ name) метод. Параметр будет дан из скрипта bash.

Вот что у меня есть.

testBash.sh

INPUT="Bobby"

// THIS IS WHERE I AM HAVING TROUBLE
TEST= php -r "require 'hello-world.php'; helloName("$INPUT");"

echo "$TEST"

hello-world.php

function helloWorld() {

    return "Hello, World!";

}

function helloName($name) {

    return "Hello, $name!";

}

В идеальном мире, когда я повторяю "$ TEST", должны отображаться результаты этой функции.

Пример: Привет, Бобби!

Возможно ли это? Я искал в Интернете решения, но это самое близкое, что я нашел, чтобы найти решение. Любой вклад или совет был бы отличным. Спасибо!

1 Ответ

1 голос
/ 29 октября 2019

Это должно сделать это:

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.
...