首页 > 解决方案 > 超时执行持续时间而不是命令

问题描述

我在执行以下操作的 bash 脚本中有一个函数:

get_repo_master_hash() {
    timeout 60 bash -c "git ls-remote $REPOURL | grep refs/heads/master | cut -f 1"
}

但是当这在我的脚本中执行时,我收到以下信息:

timeout: can't execute '60': No such file or directory

为什么它执行持续时间而不是我的命令?

该脚本正在使用 alpine/git:1.0.4 作为映像的 docker 容器中执行。

标签: bashdockersh

解决方案


在我得到的 Dockeralpine:3.6容器上

$timeout --help
Usage: timeout [-t SECS] [-s SIG] PROG ARGS

所以你应该这样做timeout -t 60


推荐阅读