выполнить две команды оболочки в одном выражении exec php

Я хочу отобразить все файлы, которые были изменены после указанной даты

команды

touch --date '2011-09-19 /home/ , find /home/ 

Как я могу выполнить эти две команды в одном выражении exec. Спасибо заранее

Вы можете использовать либо ; или a && для разделения команд. ; выполняет обе команды безоговорочно. Если первый не удался, второй все еще работает. Использование && заставляет вторую команду зависеть от первой. Если первая команда не выполняется, вторая не будет запущена.

 command1 ; command2 (run both uncondtionally) command1 && command2 (run command2 only if command1 succeeds) 

Отделите их точкой с запятой (;). Пример:

 exec("touch --date '2011-09-19' /home/; find /home/"); 

Так я сделал это одновременно, кодируя большие пальцы, а затем flv video .. Мне нужно сгенерировать 2 больших пальца из avi-файла. После больших пальцев мне нужно преобразовать одни и те же avi в flv или что угодно. Итак, вот код, который я обычно использовал.

 $command_one = "do whatever the script does best"; $command_two = "do whatever the script does second best"; //execute and redirect standard stream .. @exec($command_one."&& ".$command_two.">/dev/null 1>/dev/null 2>/dev/null &"); 

Вы также можете запустить массив команд с exec, если хотите 🙂

 foreach($crapatoids as $crap){ $command_name = $crap; //exec the crap below @exec ($command_name." >/dev/null 1>/dev/null 2>/dev/null &"); } 

Разделитель с запятой позволяет запускать несколько команд в одной строке.

 <?php $output = shell_exec("touch --date '2011-09-19' /home/; find /home/"); echo "<pre>" . $output . "</pre>"; ?>