Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 处理要卸载的唯一案例并将其光盘放入文件夹_Linux_Bash - Fatal编程技术网

Linux 处理要卸载的唯一案例并将其光盘放入文件夹

Linux 处理要卸载的唯一案例并将其光盘放入文件夹,linux,bash,Linux,Bash,我有一个脚本来解压压缩文件和cd,然后运行另一个加载脚本来加载。当我有唯一的情况时,当顶级目录只是/时,一切都正常工作。有人知道我该如何处理这个独特的案子吗 为了更清楚,我需要将cd放入myfile_01,而不是根目录 tar -xvzf $fname cd $(tar -tf $fname | grep -m3 /$) #tar it and cd into it loadIt #run load script 可能导致问题

我有一个脚本来解压压缩文件和cd,然后运行另一个加载脚本来加载。当我有唯一的情况时,当顶级目录只是
/
时,一切都正常工作。有人知道我该如何处理这个独特的案子吗

为了更清楚,我需要将cd放入myfile_01,而不是根目录

tar -xvzf $fname
cd $(tar -tf $fname | grep -m3 /$)    #tar it and cd into it
loadIt                                #run load script
可能导致问题的唯一情况:

[user@user my_directory]$ tar -tf myfile_01.tgz | grep -m3 /$
./                            # it will cause it to cd to top level directory instead of my_file01
./myfile_01/

按照脚本的模式,您不能删除给您带来麻烦的顶级目录吗

使用grep:

tar -tf myfile_01.tgz | grep -m3 /$ | grep --invert-match --extended-regexp '^\./$'
使用尾部:

tar -tf myfile_01.tgz | grep -m3 /$ | tail -1

那么,您基本上是想将
cd
放入归档文件的第一个目录中?如果您的归档文件至少包含4个顶级目录,您希望它做什么?这不太可能发生,但我想将其刻录到从tar中提取的文件夹中。