4

重複の可能性:
シェルを使用してphpにパラメーターを渡す

シェルスクリプト内でphpスクリプトを実行しています

#! /bin/sh

php file.php

シェルはスクリプトを実行し、php スクリプトの出力を表示しますが、php スクリプト内で定義された変数をシェル スクリプトに渡して (シェルによるさらなる処理のために) 使用するにはどうすればよいですか?

たとえば、次の php ファイルを考えてみましょう。

<?php
$test = "something";
?>

$testの値をシェルスクリプトに渡すにはどうすればよいですか

#! /bin/sh

php config.php
echo $test

更新:print提案された方法は、変数の ing に基づいています。php スクリプトには他のアプリケーションもある (include他の php スクリプトで使用する) ため、何も出力しないことを好みます。

4

2 に答える 2

3

PHP スクリプトは、シェル スタイルの変数割り当てを出力できます。

print("VAR1=foo\n");
print("VAR2=bar\n");

環境にインポートするには、シェル スクリプトでこれらの割り当てを評価する必要があります。

. <(php file.php)
于 2012-05-29T12:05:04.817 に答える
1

PHP スクリプトは値を出力でき、シェル スクリプトはプロセスまたはコマンド置換を使用したりread、値を取得したりできます。

PHP:

<?php
    print($test1 . "\n");
    print($test2 . "\n");
?>

バッシュ:

while read -r line
do
    something_with "$line"
done < <(php_script)

また

saveIFS=$IFS
IFS=$'\n'
array=($(php_script))
IFS=$saveIFS

また

saveIFS=$IFS
IFS=$'\n'
read -r -d '' var1 var2 <<< "$(php_script)"
IFS=$saveIFS

または他のバリエーション。

于 2012-05-29T12:41:43.230 に答える