从os.system调用shell命令不起作用

时间:2013-04-19 07:09:39

标签: python shell

我是python的新手,我有这样的代码:

os.system(''' PROMPT_COMMAND="printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' -" ''')

部分:

PROMPT_COMMAND="printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' -"

会打印-以填充外壳宽度。上面的命令在命令提示符中按预期工作。但是当我在python中做的时候。我根本没有输出。

2 个答案:

答案 0 :(得分:2)

根本没有发出此命令的意义。

据我了解,您只需设置环境变量PROMPT_COMMAND,以便shell在每个提示符下执行它。

但是设置环境变量只会影响被调用的shell,但不会影响调用者。您无法更改父进程的环境。

答案 1 :(得分:-2)

这样做。正如我所看到的问题是引号:

import os

PROMPT_COMMAND = 'printf "%*s\n" "${COLUMNS:-$(tput cols)}" "" | tr " " -'
os.system(PROMPT_COMMAND)