在 python 2.4 中,如何使用 csh 而不是 bash 执行外部命令?
如果不使用新的 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”子进程吗? 那可能吗?
聚苯乙烯 我意识到 bash 是猫的叫声,但我在公司环境中工作,我将选择不进行 tcsh 与 bash 的战斗 - 更大的鱼要煎。
Without using the new 2.6 subprocess module, how can I get either os.popen or os.system to execute my commands using the tcsh instead of bash? I need to source some scripts which are written in tcsh before executing some other commands and I need to do this within python2.4.
EDIT
Thanks for answers using 'tcsh -c', but I'd like to avoid this because I have to do escape madness. The string will be interpreted by bash and then interpreted by tcsh. I'll have to do something like:
os.system("tcsh -c '"+re.compile("'").sub(r"""'"'"'""",my_cmd)+"'")
Can't I just tell python to open up a 'tcsh' sub-process instead of a 'bash' subprocess? Is that possible?
P.S.
I realize that bash is the cat's meow, but I'm working in a corporate environment and I'm going to choose to not fight a tcsh vs bash battle -- bigger fish to fry.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需将要使用的 shell 设置为 tcsh:
Just set the shell to use to be
tcsh
:只需在命令中添加 shell 前缀即可。 我没有安装 tcsh,但安装了 zsh:
Just prefix the shell as part of your command. I don't have tcsh installed but with zsh:
怎么样:
或者只是编写脚本并添加到
文件的开头,然后让操作系统来处理。
How about:
Or just write the script and add
at the beginning of the file and let the OS take care of that.