查看unzip -t 结果
check unzip -t result
我想知道如何获得 unzip -t file.zip
的结果,以便我可以在 IF 语句中使用它
目前我有
if [ unzip -t "$file.zip" ]
then
#proceed with script
else
echo "Zip file is not ready"
fi
我也试过 if [! unzip -t "$file.zip" ]
但我想知道是否有办法在继续脚本之前确保文件有效。
我在一个相当简单的网络服务器上,我认为 gzip 不是 运行 并且我无法使用 lsof 来确定文件是否仍在写入。
在正确方向上的任何一点都会很棒。我已经搜索了 google 和这些论坛,但都没有成功。
谢谢。
替换:
if [ unzip -t "$file.zip" ]
有:
if unzip -t "$file.zip"
或者,如果您喜欢安静:
if unzip -t "$file.zip" >/dev/null 2>&1
以上应该适用于任何 POSIX shell。如果你使用 bash
并且更喜欢简洁甚至以可移植性为代价,上面的内容可以简化为:
if unzip -t "$file.zip" &>/dev/null
讨论
命令[
,也称为test
命令,用于根据某些条件设置退出代码,例如文件是否存在或字符串是否为空。这里不需要 test
命令。 unzip
本身设置了一个适当的退出代码,可以被 if
语句使用。
我想知道如何获得 unzip -t file.zip
的结果,以便我可以在 IF 语句中使用它
目前我有
if [ unzip -t "$file.zip" ]
then
#proceed with script
else
echo "Zip file is not ready"
fi
我也试过 if [! unzip -t "$file.zip" ]
但我想知道是否有办法在继续脚本之前确保文件有效。
我在一个相当简单的网络服务器上,我认为 gzip 不是 运行 并且我无法使用 lsof 来确定文件是否仍在写入。
在正确方向上的任何一点都会很棒。我已经搜索了 google 和这些论坛,但都没有成功。
谢谢。
替换:
if [ unzip -t "$file.zip" ]
有:
if unzip -t "$file.zip"
或者,如果您喜欢安静:
if unzip -t "$file.zip" >/dev/null 2>&1
以上应该适用于任何 POSIX shell。如果你使用 bash
并且更喜欢简洁甚至以可移植性为代价,上面的内容可以简化为:
if unzip -t "$file.zip" &>/dev/null
讨论
命令[
,也称为test
命令,用于根据某些条件设置退出代码,例如文件是否存在或字符串是否为空。这里不需要 test
命令。 unzip
本身设置了一个适当的退出代码,可以被 if
语句使用。