我正在创建一个Python脚本,在其中执行UNIX系统命令。我有一个名为Binaries.war的战争档案,它位于名为Portal.ear的耳朵档案中
Portal耳朵文件位于/ 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文件已经具有如图所示的绝对路径名,这将特别容易:
cd /where/you/want/it; jar xf /path/to/jarfile.jar
也就是说,您拥有了由Python更改目录执行的Shell,然后运行提取。
如果您的jar文件还没有绝对路径名,那么您必须将相对名称转换为绝对名称(通过在当前目录的路径前添加相对名称),以便jar在更改目录后可以找到它。
jar
唯一需要担心的问题是路径名中的空格。