忽略unix中的zip错误和警告

时间:2017-10-18 15:02:06

标签: linux shell unix

我编写了一个脚本,用于压缩给定文件夹中的所有文本文件。 压缩后,应将消息记录到日志文件中以查看已压缩的内容。

我收到以下消息:

zip warning: name not matched: *.txt

zip error: Nothing to do! (info.zip)

我想忽略此消息,所以我添加了

./archiveAllFiles.sh >> /home/userName/bin/logs/info.txt 2>&1 >/dev/null

在我的shell脚本中。但是,上述内容只会忽略所有内容,包括被夸大的内容。 它不会打印出任何东西......没有错误,没有警告,也没有关于拉链的信息。

我想要的是记录的内容,但仅排除错误和警告。

Archive:  info.zip
  inflating: contact.txt
  inflating: data.txt

示例:

exeAll.sh

#!/bin/bash
cd /home/userName/bin
echo "`date +%\Y-\%m-\%d_\%H:\%M:\%S` -----" >> /home/userName/bin/logs/info.txt;

./archiveAllFiles.sh >> /home/userName/bin/logs/info.txt 2>&1 >/dev/null;

archiveAll.sh

#!/bin/bash
date=$(date+ "%Y-%m-%d")
path=/home/system/xminfo

cd $path/xfer/env/data
zip -r $path/xfer/env/data/archive/$date.zip *.txt


cd $path/xfer/db/data
zip -r $path/xfer/db/data/archive/$date.zip *.txt

如果我不使用2>&1 > /dev/null我会得到

zip warning: name not matched: *.txt
zip error: nothing to do! (2017-10-18.zip) <-- comes from path/xfer/env/data
    Archive:  2017-10-18.zip               <-- comes from path/xfer/db/data
      inflating: contact.txt
  inflating: data.txt

因为目录有时可能为空。

但我只想记录这部分

Archive:  2017-10-18.zip
  inflating: contact.txt
  inflating: data.txt

0 个答案:

没有答案