Re: PHP exec grep awk

トップ ページ

このメッセージに返信
著者: anne-guilde-free
日付:  
To: stephane
CC: ML guilde
題目: Re: PHP exec grep awk
Stephane Bonhomme a écrit :
> Salut Anne,
>
> Ben suffit de laisser les \ !!!
>
> Ils permettent de dire que les " doivent être littéralement inclus dans
> la ligne de commande et non la fin de la chaîne php contenant la ligne
> de commande.
>


J'ai pas mal joué avec les droits des fichiers et répertoires...


$cmdd="/bin/grep \"^\!postscript.*ps$\" $DIR_SPOOL/doneq/q$dsp_jid |
/usr/bin/awk -F\":\" '{print $4}'";
exec($cmdd,$exec_o,$exec_r);

$cmdd1="/bin/grep \"^\!pdf.*pdf$\" $DIR_SPOOL/doneq/q$dsp_jid |
/usr/bin/awk -F':' '{print $4}'";
exec($cmdd1,$exec_o1,$exec_r1);

$cmdd2="/bin/grep \"^\!pdf.*pdf$\" $DIR_SPOOL/doneq/q$dsp_jid ";
exec($cmdd2,$exec_o2,$exec_r2);

$cmdd3="/bin/grep \"^\!postscript.*ps$\" $DIR_SPOOL/doneq/q$dsp_jid ";
exec($cmdd3,$exec_o3,$exec_r3);

print "<a
href=\"viewrq.php?var_filename=$exec_o[0]&format=pdf\">view-$exec_o[0]-$cmdd-$exec_r-$exec_o1[0]-$cmdd1-$exec_r1-$exec_o2[0]-$cmdd2-$exec_r2-$exec_o3[0]-$cmdd3-$exec_r3</a>\n";

view--/bin/grep "^\!postscript.*ps$" /var/spool/hylafax/doneq/q1 |
/usr/bin/awk -F":" '{print $4}'-0--/bin/grep "^\!pdf.*pdf$"
/var/spool/hylafax/doneq/q1 | /usr/bin/awk -F':' '{print
$4}'-0-!pdf:0::docq/doc2.pdf-/bin/grep "^\!pdf.*pdf$"
/var/spool/hylafax/doneq/q1 -0-!postscript:0::docq/doc1.ps-/bin/grep
"^\!postscript.*ps$" /var/spool/hylafax/doneq/q1 -0

=>
$exec_o[0] => du blanc
$cmdd => /bin/grep "^\!postscript.*ps$" /var/spool/hylafax/doneq/q1 |
/usr/bin/awk -F":" '{print $4}'
$exec_r => 0

$exec_o1[0] => du blanc
$cmdd1 => /bin/grep "^\!pdf.*pdf$" /var/spool/hylafax/doneq/q1 |
/usr/bin/awk -F':' '{print $4}'
$exec_r1 => 0

$exec_o2[0] => !pdf:0::docq/doc2.pdf
$cmdd2 => /bin/grep "^\!pdf.*pdf$" /var/spool/hylafax/doneq/q1
$exec_r2 => 0

$exec_o3[0] => !postscript:0::docq/doc1.ps
$cmdd3 => /bin/grep "^\!postscript.*ps$" /var/spool/hylafax/doneq/q1
$exec_r3 => 0

J'en déduis qu'il y avait un problème de droits...
Mais j'ai un autre pb, celui avec awk

hier quand je faisais en ligne de cde
>> # /bin/grep "^\!postscript.*ps$" /var/spool/hylafax/doneq/q1 |
>> /usr/bin/awk -F':' '{print $4}'
>> =>docq/doc1.ps


aujourd'hui
# /bin/grep "^\!postscript.*ps$" /var/spool/hylafax/doneq/q1
=> !postscript:0::docq/doc1.ps
# /bin/grep "^\!postscript.*ps$" /var/spool/hylafax/doneq/q1 |
/usr/bin/awk -F':' '{print $4}'
=> du blanc

:o(

Je ne connais pas awk...
Si vous avez une idée...
Anne