这两个命令在不同的子shell中执行。
在第一个
system调用中设置变量不会影响第二个
system调用。
您需要将两个命令放在一个字符串中(与组合
;)。
>>> import os>>> os.system('GREPDB="echo 123"; /bin/bash -c "$GREPDB"')1230注意 您需要使用
"$GREPDB"而不是
'$GREPDBS'。否则,将按字面解释而不是对其进行扩展。
如果可以使用
subprocess:
>>> import subprocess>>> subprocess.call('/bin/bash -c "$GREPDB"', shell=True,... env={'GREPDB': 'echo 123'})1230


