如何在shell脚本中跳转unpack目录?

时间:2017-02-10 10:00:35

标签: linux bash shell

我想解压缩.tgz文件并跳转到已发布的目录。我知道终端中的命令是:

tar -xvzf xxx.tgz

然后跳到目录:

cd xxx

但是如何在shell脚本中执行此操作?我不知道如何让目录得到' tar'命令发布,任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

如上所述here

RAILS_ENV=development bundle exec rails s

答案 1 :(得分:0)

以下内容可以将xxx.tgzcd取消归档到它提取的目录中:

tar -xvzf xxx.tgz && cd $(tar -tf ${_} | head -1 | cut -d / -f 1)

这考虑到提取存档的目录可能与存档名称不同。该方法提取存档,然后检查它的内容,以确定它实际提取到的位置。需要注意一定程度的脆弱性,并且可能需要对不寻常的文件名进行调整。

以下是其他一些(稍微更通用)的例子:

mkdir -p xxx && tar -xvzf ${_}.tgz -C ${_%%.tgz}

即使通常会提取到xxx,也会在xxx.tgz中创建目录xxx并提取xyz

tar -xvzf xxx.tgz && cd ${_%%.tgz}

归档xxx.tgz然后使用bash参数替换cdxxx目录。