shell脚本制作类似window下rar的自解压方式
在linxu系统下,一般下载软件安装包的时候,先解压,然后在解压后的目录下面一般都有shell脚本或者perl脚本,直接运行就可以帮你把所有的工作都完成,这种是很常见的,下面介绍一种类似于window下面的rar自解压方式。如下所示
dgq@serv_04 test $ ls dhcp-4.2.4-P2.tar.gz test.sh* dgq@serv_04 test $ vim test.sh #!/bin/sh { tput clear #cat << menu_message # **************************** # this is a test program # **************************** #menu_message line=`wc -l $0 | awk '{print $1}'` line=`expr $line - 12` tail -n $line $0 | gunzip | tar xvf - } 2>&1 | tee -a 'test.log' && exit $? ~ dgq@serv_04 test $ cat dhcp-4.2.4-P2.tar.gz >> test.sh dgq@serv_04 test $ ./test.sh dhcp-4.2.4-P2/ dhcp-4.2.4-P2/aclocal.m4 dhcp-4.2.4-P2/bind/ dhcp-4.2.4-P2/client/ dhcp-4.2.4-P2/common/ dhcp-4.2.4-P2/configure dhcp-4.2.4-P2/configure.ac dhcp-4.2.4-P2/contrib/ dhcp-4.2.4-P2/depcomp dhcp-4.2.4-P2/dhcpctl/ dhcp-4.2.4-P2/doc/ ...... ....... dgq@serv_04 test $ ls dhcp-4.2.4-P2/ dhcp-4.2.4-P2.tar.gz test.log test.sh* dgq@serv_04 test $
上面就是一个简单的例子,先把安装包追加到脚本的末尾,执行的时候直接定位到指定的行数去解压就可以了,复杂的还需要检查依赖的环境,设置变量等等,不过基本框架就是这样的。