将linux shell脚本命令转换为php

将linux shell脚本命令转换为php,php,linux,shell,Php,Linux,Shell,我面临的问题可能有一个简单的解决方案,但由于我不是php专家,我找不到它。我通常这样做,但我必须从php调用shell命令: cmd = "convert file.pdf image.jpg"; shell_exec($cmd); 但是现在我有一个在shell上运行的命令,我不能让它从php运行,所以我认为可能有一种方法可以用php语言表达相同的命令 命令: 我的php尝试: 非常欢迎您的建议。。。谢谢 更新 我已经阅读了我被标记为可能重复的问题,我从中了解到我的“I”必须有一个引用,对于s

我面临的问题可能有一个简单的解决方案,但由于我不是php专家,我找不到它。我通常这样做,但我必须从php调用shell命令:

cmd = "convert file.pdf image.jpg";
shell_exec($cmd);
但是现在我有一个在shell上运行的命令,我不能让它从php运行,所以我认为可能有一种方法可以用php语言表达相同的命令

命令:

我的php尝试:

非常欢迎您的建议。。。谢谢

更新

我已经阅读了我被标记为可能重复的问题,我从中了解到我的“I”必须有一个引用,对于shell命令,它有一个引用,但从php执行时它不起作用

关于这一点,我也尝试了这一点,但没有成功:

<?php
$imgdir = "1987_3";
$nf = count(new GlobIterator('filesup/'.$imgdir.'/*'));
$cmd ="seq --format=%3.f 0 $nf";
$i = shell_exec($cmd);
$cmd = "tesseract 'filesup/$imgdir/$imgdir-$i.jpg' 'filesup/$imgdir/$imgdir-$i' -l eng; done";
shell_exec($cmd);
?>

PHP将使用双引号计算字符串中的所有变量,例如:

<?php
    $i=5;
    echo "Your i is: $i";
?>
输出
您的i是:$i

按如下方式更新代码:

<?php
    $imgdir = "1987_3";
    $nf = count(new GlobIterator('filesup/'.$imgdir.'/*'));
    $cmd = 'for i in $(seq --format=%3.f 0 $nf); do echo doing OCR on page $i; tesseract \'' . $imgdir/$imgdir . '-$i.ppm\' \'' . $imgdir . '-$i\' -l eng; done';    
    shell_exec($cmd);
?>

非常感谢,我不得不对代码做一些小的调整,但它确实起了作用,再次感谢!
<?php
$imgdir = "1987_3";
$nf = count(new GlobIterator('filesup/'.$imgdir.'/*'));
$cmd ="seq --format=%3.f 0 $nf";
$i = shell_exec($cmd);
$cmd = "tesseract 'filesup/$imgdir/$imgdir-$i.jpg' 'filesup/$imgdir/$imgdir-$i' -l eng; done";
shell_exec($cmd);
?>
<?php
    $i=5;
    echo "Your i is: $i";
?>
<?php
    $i=5;
    echo 'Your i is: $i';
?>
<?php
    $imgdir = "1987_3";
    $nf = count(new GlobIterator('filesup/'.$imgdir.'/*'));
    $cmd = 'for i in $(seq --format=%3.f 0 $nf); do echo doing OCR on page $i; tesseract \'' . $imgdir/$imgdir . '-$i.ppm\' \'' . $imgdir . '-$i\' -l eng; done';    
    shell_exec($cmd);
?>