今天在用Linux Shell scripts对package打包的时候遇到下面问题:
tar: Removing leading `/' from member names
Shell的具体内容
#! /bin/sh
PKG_DIR=${PWD}/release
PKG_NAME=release.tar.gz
tar -zvcf ${PKG_NAME} ${PKG_DIR}
在release的上一级目录执行此scripts,就会报:tar: Removing leading `/' from member names
细细研究一下,没有找到更好的办法。网上google,基本都是使用tar的-P参数,但是解压的时候[不知最终用户]引入了绝对路径。所以不能解决问题。
使用下面的workaround
因为是在release的上一级目录执行tar操作,所以直接把PKG_DIR=${PWD}/release中的${PWD}删除,使用PKG_DIR=release即可。
[P.S] 如有高手解决此问题,请赐教!