php arama bash sorunu

1 Cevap php

Ben bu basit php komut dosyası var

<?php
echo '<pre>';

// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
$last_line = $output = system ("~/public_html/cgi-bin/srch.sh &> ~/public_html/errors.txt",$retval);

// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
?>

Hangi srch.sh dayanır:

#!/bin/bash

for i in ~/mail/home/user/mail/domain.com/josh/cur/*
do
grep -i Value $i . &> ~/public_html/yesno.txt;
done

Ancak, tüm bu b rowser görüntüleme retval 1 olduğunu ve hiçbir hata TextFiles birine kaydedilmiş olur. Ben yanlış stderr'yi ve stdout karışık, ya da başka bir şey kaçırdım mı?

1 Cevap

$last_line = $output = system ("~/public_html/cgi-bin/srch.sh &> ~/public_html/errors.txt",$retval);

Yukarıdaki satır srch.sh çalışır ve redirects all çıktı bu ERRORS.TXT üretir. Bu nedenle, hiçbir çıkış $ çıkışı (ve $ last_line) atamak kalmadı. Siz ERRORS.TXT içinde (birlikte çıkış kalanı ile) son satırı bulacaksınız.

Değilse, doğrudan kabuk komut dosyası çalıştırmayı deneyin ve hiç bir çıkış üretir olmadığını görmek.