AIX系统自身是没有解压ZIP文件的,但在AIX安装oracle数据库服务器的话,在$ORACLE_HOME/bin路径下方却有unzip命令,可以解压ZIP文件。
一、shell脚本
之前的版本有问题,现在将shell脚本修改如下。原因是Unix系统下unzip命令不能批量解压,但是在windows平台是可以的。
#!/bin/ksh #设置环境变量
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/db_1
export PATH=$PATH:$ORACLE_HOME/bin
#Oracle自带unzip命令,在$OARCLE_HOME/bin路径下有unzip命令 #进行解压的文件路径
file_path=`pwd` #当前路径 #设置将文件解压到的目标路径
target_path=$file_path/test #切换路径
cd $file_path #统计file_path下ZIP文件个数
file_number=`ls -l |grep zip$ |wc -l` #检查当前路径下是否存在ZIP文件
if [ $file_number gt 0 ] ;then #将文件名放到file_name.conf文件中
ls -al | grep zip$ | awk '{print $9 }' > file_name.conf while read column do #将文件解压在当前路径下
unzip $column #将文件解压在指定路径下
unzip -o -d $target_path $column done < $file_path/file_name.conf else #否则直接退出
exit 0 fi #删除原ZIP包
rm -f *.zip exit 0
#备注 此脚本还有一个小BUG,如果zip文件名里含有空格,会有问题,这个后期将进行完善。
二、UNZIP命令
UNZIP常用参数选项:
-d <目录> 指定文件解压缩后所要存储的目录。
-x <文件> 指定不要处理.zip压缩文件中的哪些文件。
-o 不必先询问用户,unzip执行后覆盖原有文件。
-v 执行是时显示详细的信息。
-l 显示压缩文件内所包含的文件。
-n 解压缩时不要覆盖原有的文件。
三、手工安装unzip工具包
下载地址:
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/unzip/unzip-5.51-1.aix5.1.ppc.rpm
安装方法:
使用root用户安装unzip,命令:
rpm -ivh unzip-5.51-1.aix5.1.ppc.rpm