2017-03-02 58 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