自解压 bash 脚本

日期: 05 月 02日, 2014
标签:

首先,编辑foo.sh,写入以下内容,确保最后有个空白行

#!/usr/bin/env bash
sed '1,/^#__END__$/d' $0 | tar zxf -
exit
#__END__

然后,把要打包的的文件用tar打成压缩包,并添加到脚本尾部,最后给脚本加上可执行属性

tar -zcf foo.tar.gz foo
cat foo.tar.gz >> foo.sh
chmod +x foo.sh

如果要使用xz压缩,则脚本、需要执行的命令如下

#!/usr/bin/env bash
sed '1,/^#__END__$/d' $0 | tar Jxf -
exit
#__END__

tar -Jcf foo.tar.xz foo
cat foo.tar.xz >> foo.sh
chmod +x foo.sh