Как запустить bash логических операторов из python - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь выполнить:

    actual = subprocess.run(['echo 123 | ./ft_ssl md5 -s ' + data + ' -p'], stdout=subprocess.PIPE)
    actual = actual.stdout.decode('utf-8')

и после этой переменной actual равно "123 | ./ft_ssl md5 -s fuck -p\n".

Python запустить только эхо для всех входных данных и игнорировать | операция.

Помогите, пожалуйста, что мне нужно сделать, чтобы выполнить две команды с этой логической операцией?

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете избежать echo в целом. Здесь можно смоделировать конвейерную передачу, передав аргумент echo в stdin вызова ./ft_ssl

actual = subprocess.Popen(['./ft_ssl', 'md5', '-s', data, '-p'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
output = actual.communicate(b'123')

См. документы для получения более подробной информации о communicate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...