/ / Chyba pri vykonávaní s podprocesom - python, bash, shell

Chyba pri vykonávaní s podprocesom - python, bash, shell

"Snažím sa spustiť príkaz shell cez Python kód, ale ja nie som schopný pochopiť, prečo to zlyháva."

Pri tlači príkazu a jeho prilepení do shellu sa pokúste spustiť priamo v poriadku, to je zvláštna časť.

Z jazyka Python I dostávam nasledujúce informácie:

/bin/sh: -c: line 0: syntax error near unexpected token `("
/bin/sh: -c: line 0: `/DATA/NGS/ngs_software/bioinfoSoftware/bwa_current/bwa mem ... --threads 4 -T /tmp/samTemp -"

Je tu niečo, čo som "m chýba? Môj kód vyzerá takto, kde" cmd "je reťazec s príkazom. OS je CentOS s bash shell:

process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
out = process.stdout.readline()
out = out.decode("utf-8").strip("n")

odpovede:

0 pre odpoveď č. 1

Váš príkaz obsahuje substitúciu procesu, ale Popen používa príkaz /bin/sh, Pri spustení ako /bin/sh, bash neumožňuje substitúcie procesov. Môžete explicitne požiadať o spustenie príkazu bash pomocou executable voľba.

process = subprocess.Popen(cmd, shell=True, executable="/bin/bash", stdout=subprocess.PIPE)