gpt4 book ai didi

bash - 下载并自动安装 tgz 文件

转载 作者:行者123 更新时间:2023-11-29 09:30:40 26 4
gpt4 key购买 nike

#!/bin/bash

mkdir /tmp
curl -O http://www.mucommander.com/download/nightly/mucommander-current.app.tar.gz /tmp/mucommander.tgz
tar -xvzf /tmp/mucommander.tgz */mucommander.app/*
cp -r /tmp/mucommander.app /Applications
rm -r /tmp

我正在尝试创建一个 shell 脚本来下载 muCommander 并将其提取到我在 Mac 上的应用程序目录中。

我试过 cd 进入 tmp 目录,但是当我这样做时脚本停止了。我可以使用 -C 参数提取所有内容,但当前的 tgz 路径是 muCommander-0_9_0/mucommander.app,它可能会在以后的构建中发生变化,所以我试图保持它的通用性。

谁能指点我哪里出错了?

提前致谢。

最佳答案

从 tar(1) 中解压压缩包时,去除第一个路径部分:

 --strip-components count
(x mode only) Remove the specified number of leading path ele-
ments. Pathnames with fewer elements will be silently skipped.
Note that the pathname is edited after checking inclusion/exclu-
sion patterns but before security checks.

更新

这是一个有效的 bash 示例,说明如何相当一般地将 tgz 文件的内容复制到 /Applications

shopt -s nocaseglob

TMPDIR=/tmp
APP=mucommander
TMPAPPDIR=$TMPDIR/$APP

mkdir -p $TMPAPPDIR

curl -o $TMPDIR/$APP.tgz http://www.mucommander.com/download/nightly/mucommander-current.app.tar.gz
tar --strip-components=1 -xvzf $APP.tgz -C $TMPAPPDIR
mv $TMPAPPDIR/${APP}* /Applications
# rm -rf $TMPAPPDIR $TMPDIR/$APP

rm 命令暂时被注释掉,请在使用前确认它没有任何危害。

关于bash - 下载并自动安装 tgz 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11723907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com