利用此参数,结合tar命令可以在下创建类似windows下winrar的自解压了。
# !/bin/sh [ $# != "1" ] && echo "Usage: $0 tarfile" && exit 0 DESTFILE="$1.sh" echo "# !/bin/sh" > $DESTFILE echo "LINES=\`wc -l \$0 | awk '{ print \$1 }'\`" >> $DESTFILE # 计算目标文件的行数 echo "LINES=\`expr \$LINES - 4\`" >> $DESTFILE # 计算需要输出的行,为总行数-4(4行执行脚本) echo "tail -n \$LINES \$0 | tar -xv " >> $DESTFILE # 输出并释放(可以结合-z/-j释放压缩文件) echo "exit 0" >> $DESTFILE chmod +x $DESTFILE cat $1 >> $DESTFILE #添加tar文件到文件尾 |