我将如何制作一个可以执行的自解压存档sh
?
我最接近的是:
extract_archive () {
printf '<archive_contents>' | tar -C "$extract_dir" -xvf -
}
Where <archive_contents>
包含一个带有空字符的 tarball,%
, '
and \
转义字符并用单引号括起来。
有没有更好的方法来做到这一点,这样就不需要转义?
(请不要指给我shar
, makeself
等等。我想从头开始写。)
另一种变体是使用 shell 脚本结尾标记并使用 sed 剪切 shell 脚本本身。
Script selfextract.sh
:
#!/bin/bash
sed '0,/^#EOF#$/d' $0 | tar zx; exit 0
#EOF#
如何使用:
# create sfx
cat selfextract.sh data.tar.gz >example_sfx.sh
# unpack sfx
bash example_sfx.sh
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)