2017-03-02 86 views
0

我有一个zip文件名app.zip它有多个符号链接名为kafka.ziphdfs.zip等可以是任何东西。提取符号链接zip文件的内容与symlink同名

$ll 
lrwxrwxrwx 1 xyz xyz 7 Mar 2 13:35 app.zip 
lrwxrwxrwx 1 xyz xyz 7 Mar 2 13:35 hdfs.zip -> app.zip 
lrwxrwxrwx 1 xyz xyz 7 Mar 2 13:23 kafka.zip -> app.zip 
lrwxrwxrwx 1 xyz xyz 7 Mar 2 13:35 myapp.zip -> app.zip 

当我提取任何符号链接zip文件,它会创建与原文件名的目录,见下图:

$ unzip kafka.zip 
Archive: kafka.zip 
    creating: app/ 
extracting: app/my.properties  
extracting: app/my.sh  

我希望它用符号链接名称中提取,我的意思是,如果我我正在提取kafka.zip,然后目录名应该是kafka而不是app。

回答

0

在解压缩命令,您可以指定文件夹:

unzip kafka.zip -d kafka 

据我所知,你想要这个,所以你可以做一个小脚本运行unzip命令没有额外的参数自动发生,例如:

#!/bin/bash 
unzip $1 -d ${1%.zip} 

然后运行这个命令:

myunzip.sh kafka.zip 
+0

这也是不是一个选项。最终用户应该得到一个zip文件并运行'unzip filename.zip' – ASR

+0

这可能是一个选项,可以在用户系统中添加别名unzip ='myunzip'之类的东西,我宁愿自己不这样做,但如果它确切你在这种情况下需要什么,它可以工作 – SpacemanSpiff

+0

最终用户对我来说是未知的。在创建zip或符号链接时我可以做什么? – ASR