【问题标题】:explaination of steam script function [closed]steam脚本功能的解释[关闭]
【发布时间】:2013-05-09 03:08:25
【问题描述】:

我已经下载了一个脚本文件,它可以下载 Steam 引擎、依赖项,然后安装它们。我试图了解代码到底在做什么。我已经理解了其中的一部分,但无法理解某些功能。有人可以解释一下这些函数的作用吗?

download() {
    local url="$1"
    local filename="$(basename "$url")"

    if [ ! -f "$filename" ]; then
        wget -c "$url" -O "$filename.part"
        mv "$filename.part" "$filename"
    fi
}

package() {
    local url="$1"
    local target="$2"

    download "$url"

    mkdir -p "$target"
    ar p "$(basename "$url")" data.tar.gz | tar xz -C "$target"
}

STEAM_DEB_URL="http://media.steampowered.com/client/installer/steam.deb"
UBUNTU_DEB_URL="http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu10.2_i386.deb"

【问题讨论】:

    标签: function steam


    【解决方案1】:

    下载函数将 URL 作为其参数并将其存储为名为 url 的变量。 $(basename "$url") 以 url 变量作为参数执行命令 basename,并将值返回并存储到文件名中。本质上,它试图确定 url 的文件名部分。因此,如果您的 URL 是 www.example.com/foo.txt 文件名将仅等于 foo.txt if 块尝试查看该文件是否已存在于您当前的工作目录中。如果没有,则使用 curl 下载它。

    package 函数有两个参数,一个 url 和一个 target。传递给已经描述的下载函数的 url。下载文件后,它会创建目标目录并提取下载内容。

    由于下载的文件是 .deb 格式,它首先必须使用“ar”命令。 .deb 文件格式始终是其中一个名为 data.tar.gz 的文件,它是包的“肉”。由于 data.tar.gz 文件也被压缩,因此也需要提取它。 Tar 会处理这个问题,但首先它会更改为目标目录,以便文件最终出现在正确的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 1970-01-01
      • 2022-07-01
      相关资源
      最近更新 更多