我有一个脚本可以检查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
感谢。
答案 0 :(得分:8)
因为some_file
位于tarfile.tar
文件中,但您的if
正在检查它是否在文件系统中。
您可以像这样改变它
if tar –tf tarfile.tar some_file >/dev/null 2>&1; then
echo "tarfile.tar contains some_file"
fi