Bash Tar无法从.Tar存档扩展子文件夹

Bash Tar无法从.Tar存档扩展子文件夹,bash,permissions,tar,subdirectory,archive,Bash,Permissions,Tar,Subdirectory,Archive,出于某种原因,我试图使用单独的命令从bash脚本扩展tarball本机归档(不是gzip版本) Tar存档格式: File1 File2 folder1/file3 folder1/file4 然后执行下一个命令: tar xvf archive.tar -C $TEMP_DIR/ File1 tar xvf archive.tar -C $TEMP_DIR/ File2 都成功了 接下来,我对文件3和文件4执行单独的命令: tar xvf archive.tar -C $TEMP_DIR/

出于某种原因,我试图使用单独的命令从bash脚本扩展tarball本机归档(不是gzip版本)

Tar存档格式:

File1
File2
folder1/file3
folder1/file4
然后执行下一个命令:

tar xvf archive.tar -C $TEMP_DIR/ File1
tar xvf archive.tar -C $TEMP_DIR/ File2
都成功了

接下来,我对文件3和文件4执行单独的命令:

tar xvf archive.tar -C $TEMP_DIR/ folder1/file3
tar xvf archive.tar -C $TEMP_DIR/ folder1/file4
这两种方法都失败:

Tar: folder: Permission denied
Tar: file: No such file or directory

请告知

您需要确保archive.tar位于正确的位置, 以下脚本再现了整个过程:

#!/usr/bin/env bash
mkdir -p /tmp/{dest,src/folder1}
cd /tmp/src
touch File{1,2} folder1/file{3,4}

tar cvf ../archive.tar *

TEMP_DIR=/tmp/dest

cd /tmp
tar xvf archive.tar -C $TEMP_DIR/ File{1,2}
ls  -l $TEMP_DIR
read -pEnter
tar xvf archive.tar -C $TEMP_DIR/ folder1/file{3,4}
ls  -l $TEMP_DIR/folder1

错误是否真的有
Tar
(大写字母T)和
文件夹
/
文件
(而不是
folder1
file3
file4
)?最有可能的答案是在第二组命令期间没有设置
TEMP\u DIR
。如果将
tar
替换为
echo
它会打印什么?您使用的是哪种tar实现(以及什么操作系统)?@jhnc否,我使用它作为原始tar和文件名的“简短”形式