我正在创建一个Python脚本,在其中执行UNIX系统命令。我有一个 名为Binaries.war的war存档,位于名为Portal.ear的ear存档中
门户ear文件位于,比如/home/foo/bar/
jar xf /home/foo/bar/Portal.ear Binaries.war
将Binaries.war文件从/home/foo/bar/Portal.ear存档中解压到运行脚本的当前目录中。
如何使用一个命令指定要提取到的目标目录? 我想这样做,将Binaries.war解压到/home/foo/bar/baz目录中
jar xf /home/foo/bar/Portal.ear Binaries.war [into target directory /home/foo/bar/baz]
我在JAR手册页上搜索选项,但似乎找不到简单的方法。当然,我可以将存档文件提取到当前目录中,然后使用mv移动它,但我希望一次性完成此操作,而不是随意移动目录和文件。
我不认为jar工具在本机上支持这一点,但是您可以使用“unzip”解压缩jar文件,并使用“-d”选项指定输出目录,如下所示:
难道不能使用^{} 更改python脚本中的工作目录吗?我同意,从jar命令本身看不到任何方法。
如果不想永久更改目录,请将当前目录(使用
os.getcwd()
)存储在变量中,然后再更改。如果您的jar文件已经有了如图所示的绝对路径名,那么这非常简单:
也就是说,您让Python change directory执行shell,然后运行提取。
如果jar文件还没有绝对路径名,则必须将相对名称转换为绝对名称(在其前面加上当前目录的路径),以便
jar
可以在目录更改后找到它。唯一需要担心的问题是路径名中的空白。
相关问题 更多 >
编程相关推荐