代码之家  ›  专栏  ›  技术社区  ›  uliwitness

如何从(PHP)shell脚本中获取数据

  •  4
  • uliwitness  · 技术社区  · 7 年前

    我正在一个更大的shell脚本中运行一个PHP脚本

    php -f $filename > `basename $filename .php`.html
    

    现在,我想让脚本告诉我输出文件名使用哪个文件扩展名。我试过了

    export AW_FILENAME_SUFFIX=".html"
    php -f $filename > `basename $filename .php`$AW_FILENAME_SUFFIX
    

    和a putenv("AW_FILENAME_SUFFIX=.txt") 在脚本本身中,但似乎只改变了PHP命令及其子进程运行的环境,而不是调用脚本的环境。

    除了输出可以用于这样的元数据或写入第二个文件之外,还有其他方法可以从脚本中获取数据吗?

    我会运行几个脚本,这意味着我真的不能 source 他们进入我的,这可能会给我重复的功能错误。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kamrul Khan    7 年前

    您可以在PHP脚本中编写。这就是:

    <?php
    $ext = '.txt';
    $filename = $argv[1].$ext;
    ob_start();
        // my script
    $data = ob_get_clean();
    file_put_contents($data, $filename);
    

    然后从shell中可以调用如下内容:

    php -f $scriptname $dumpfile