Python在中定义不是一种很好的语言,它定义了一组要运行的命令。 Bash是。但Bash不能在Windows上天真地运行。在Python中实现的便携式命令执行语法
背景:我试图建立一套程序 - 它们之间建立了依赖关系 - 在mac/win/linux上。像macports的东西,但应该在列出的所有三个平台上工作。
此相生必要为具有可被用于壳状语言定义命令序列用于构建/修补/等。特定的程序运行,如:
post-destroot {
xinstall -d ${destroot}${prefix}/share/emacs/${version}/leim
delete ${destroot}${prefix}/bin/ctags
delete ${destroot}${prefix}/share/man/man1/ctags.1
if {[variant_isset carbon]} {
global version
delete ${destroot}${prefix}/bin/emacs ${destroot}${prefix}/bin/emacs-${version}
}
}
以上是来自emacs Portfile in macports。请注意使用变量,条件,函数..除了指定要按此顺序执行的简单命令列表。
尽管语法不是Python,但实际的执行语义必须使用子进程或其他方式推迟到Python。总之,我应该能够'运行'这样一个脚本..但是对于每个命令来说,一个指定的钩子函数被调用,实际上运行任何作为参数传递的命令。我希望你明白这个主意。
你在这里要求什么?建议设计?代码片段?请更精确。 – Pinochle 2009-08-08 15:47:40
我不是要求输入代码片段;但关于如何实现或重新使用这样的命令解释器的想法(似乎macports使用Tcl) – 2009-08-08 15:57:32