Search on blog:

Użycie bash do wykonania kodu w subprocess

subprocess domyślnie używa /bin/sh zamiast popularnego /bin/bash więc niektóra składnia nie działa

import subprocess

print(subprocess.check_output("for num in {2..4}; do echo $num; done", shell=True).decode())

Wynik

{2..4}

Można użyć bash -c "command"

import subprocess

print(subprocess.check_output('bash -c "for num in {2..4}; do echo $num; done"', shell=True).decode())

Wynik

2
3
4

Lub można użyć executable='/bin/bash'

import subprocess

print(subprocess.check_output("for num in {2..4}; do echo $num; done", shell=True, executable='/bin/bash').decode())

Wynik

2
3
4
If you like it
Buy a Coffee