我想解压缩.tgz文件并跳转到已发布的目录。我知道终端中的命令是:
tar -xvzf xxx.tgz
然后跳到目录:
cd xxx
但是如何在shell脚本中执行此操作?我不知道如何让目录得到' tar'命令发布,任何人都可以帮助我吗?
答案 0 :(得分:0)
如上所述here:
RAILS_ENV=development bundle exec rails s
答案 1 :(得分:0)
以下内容可以将xxx.tgz
和cd
取消归档到它提取的目录中:
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参数替换cd
到xxx
目录。