FreeBSD Fetch和Tar的妙用

       有时候我们需要从网上下载资源然后在本地解压, 然后删除下载的tar包, 这种情况躲在编译某个组件时需要用到临时依赖包的情况.

       每次下载, 解压, 删除原包, 很麻烦, 有么有更快速的方法可以做到呢, 通过不懈努力终于让我实验出了好办法.

       我们先让fetch将包下载到输入流中, 然后让tar命令解压输出流就可以了.比如我们需要从内网下载libiconv-1.14.tar.gz然后在我们的$SRCDIR目录中解压出来, 我们只需要使用命令:

       # fetch -o /dev/fd/1 'http://192.168.0.68/libiconv-1.14.tar.gz' | tar -zxf /dev/fd/0 --uname root -C $SRCDIR

这样libiconv-1.14包就直接解压到$SRCDIR目录里了.

       使用这种技巧我们也同样可以远程执行Shell或Perl脚本, 而不用将脚本下载到本地,既保证了脚本的同步性, 有方便更新脚本文件.

你可能感兴趣的:(freebsd,脚本,perl,shell)