2

我有一个脚本可以检查 tar 文件中是否存在文件,但出现问题,因为它总是转到脚本的“else”部分。我很确定不应该这样。

日期采用“Mon dd”格式(1 月 11 日)。

echo "enter date: \c"
read date
tarfile=`tar -tvf tarfile.tar | grep some_file | grep "$date"`

if [ -f "$tarfile" ]; then
   echo "yes"
else
   echo "no"
fi

谢谢。

4

1 回答 1

10

因为some_filetarfile.tar文件内,但您if正在检查它是否在文件系统上。

你可以像这样改变它

if tar –tf tarfile.tar some_file >/dev/null 2>&1; then
    echo "tarfile.tar contains some_file"
fi
于 2013-10-22T03:20:05.443 回答