写法1
#!/bin/bashcd /root/sg/tarls *.tar>tar.log#也有tgz后缀名的压缩包ls *.tgz>>tar.log&>/dev/nullaa=$(cat tar.log|wc -l)for(( i=1;i<="$aa";i++ ))do#去除tar文本中的内容,找出$i的行的内容,再取出第一列,也就是压缩包名,不带后缀名bb=$(cat tar.log | awk 'NR=='$i'{print $1}')# -C 选项的作用是:指定需要解压到的目录。tar -zxvf $bb -C /root/sh/tardone
写法2
#!/bin/bashcd /root/sg/tarls *.tar>tar.log#有几行就循环几次,这句话是废话,但还是要写# $(cat tar.log) 存放的是一行行的压缩包名,把每一个压缩包名赋值给for后面的i,tar -zxvf $i中的i就是要解压的压缩包for i in $(cat tar.log)dotar -zxvf $idone
