bash脚本将最近上传的文件解压缩到服务器中

时间:2016-02-01 07:03:44

标签: bash unzip

我想在上传到服务器后自动解压缩文件。 我没有经历过bash,但我已尝试过这个

for file in *.zip
do
unzip -P pcp9100 "$file" -d ./ 
done

它没有按我的意愿工作。

1 个答案:

答案 0 :(得分:1)

好的,假设您希望在循环中连续完成此操作,您可以执行以下操作:

while true; do
    for file in *.zip; do
        unzip -P pcp9100 "${file}" -d ./
        rm "${file}"
    done
    sleep 3
done

当然,这里有几件事可能会出错。

  • 文件密码不正确
  • 里面的文件也是一个zip文件,没有相同的密码
  • 权限不正确

首先,您的权限应该是正确的。其次,您可以创建一个名为“ExtractedFiles”的目录和一个名为“IncorrectPasswords”的目录,您可以执行以下操作:

while true; do
    for file in *.zip; do
        unzip -P pcp9100 "${file}" -d ./ExtractedFiles || mv "${file}" ./IncorrectPasswords
        rm "${file}"
    done
    sleep 3
done