如果不使用新的 2.6 子进程模块,我怎样才能让 os.popen 或 os.system 使用 tcsh 而不是 bash 来执行我的命令?在执行一些其他命令之前,我需要获取一些用 tcsh 编写的脚本,我需要在 python2.4 中执行此操作。
编辑感谢使用'tcsh -c'的答案,但我想避免这种情况,因为我必须逃避疯狂。该字符串将由 bash 解释,然后由 tcsh 解释。我将不得不做类似的事情:
os.system("tcsh -c '"+re.compile("'").sub(r"""'"'"'""",my_cmd)+"'")
我不能告诉 python 打开一个“tcsh”子进程而不是一个“bash”子进程吗?那可能吗?
PS 我意识到 bash 是猫的喵喵叫,但我在公司环境中工作,我将选择不打 tcsh 与 bash 之战——更大的鱼要炸。