Как получение результата команды openssl в файле .txt

кто-то знает, как получать результат следующей команды: openssl x509-noout-modulus-in file.pem в файле .txt. Команда функционирует хорошо, когда я это выполняю как в консоли, так и в функции exec php, что - это как получение Вашего результата в файле .txt. Заранее спасибо, я надеюсь, что они могут помогать мне.

1
задан 20.04.2016, 21:16
4 ответа

Если ты находишься в Windows просто, ты это можешь получать в консоли redireccionando нормативный объем производства к твоему файлу проницательного sgte

C:\> openssl x509 -noout -modulus -in file.pem > archivo.txt
3
ответ дан 24.11.2019, 14:33
  • 1
    Я верю в то, что tambi и # 233; n функционировать и # 237; в в shell без проблем – Alvaro Montoro♦ 20.04.2016, 20:45
  • 2
    Мое знание на других консолях недостаточное. Спасибо! – Carlos Muñoz 20.04.2016, 20:46
  • 3
    Если я помню довольно > sobreescribe, и >> в и # 241; ade в конце концов. Поэтому, что ты предлагаешь функционировать, и # 237; в в двух – Alvaro Montoro♦ 20.04.2016, 20:48
  • 4
    Готовый функционировал Карлос Му и # 241; oz, большое спасибо обоим. – Antonio Perez 20.04.2016, 20:50

также есть выбор использовать контроль выполнения командной строки:

, Если дал код возврата 0, выполнит то, что есть в continuaciГіn & &

C:\>openssl&&@echo ha ido bien

или

, Если мы захотим проконтролировать, когда есть ошибка, мы поместим двойную порцию pipe и тогда выполнят, что было в continuaciГіn ||

C:\>openssl||@echo ha dado error

0
ответ дан 24.11.2019, 14:33

В документации PHP определяется, что функция exec() смоги иметь от одного до трех параметров:

string exec ( string $command [, array &$output [, int &$return_var ]] )

Конечно сейчас ты это называешь только с одним (команда), но тебе было бы интересно перемещать его второй параметр (output). Этот второй параметр возвращает array с выводом команды (линия в линию).

Документации, соединенной наверху (мой перевод):

output

Если аргумент output будет присутствовать, тогда определенный array наполнится с каждой линией вывода команды. Место в мишени в конце концов, также как и \n, не включается в этот array. Ощутись, что, если array содержит элементы, exec () он добавит в конце array. Если ты не хочешь, чтобы функция добавила элементы к array, пламя в unset () в array перед тем, как это перемещать в exec ().

Тогда, только ты должен пересекать второй параметр, чтобы видеть результат операции, реализованной с exec() и сохранять это в файле.


Если ты хочешь сделать это без необходимости PHP, и ты можешь добавлять что-то в конце команды, ты мог бы делать что-то типом:

$miComando .= " > fichero.txt";

Это будет способствовать тому, чтобы в конце твоей команды добавилась цепь "> fichero.txt" что в cmd и shell он напишет результат в файле txt из-за тебя.

1
ответ дан 24.11.2019, 14:33
  • 1
    Правильный, спасибо Альваро Монторо. – Antonio Perez 20.04.2016, 20:52

если команда возвращает один cГіdigo возврата, этот хранится в переменной errorlevel:

C:\>openssl

"openssl" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.`

C:\>@echo %errorlevel%
9009
0
ответ дан 24.11.2019, 14:33