bash - 超时执行持续时间而不是命令
问题描述
我在执行以下操作的 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 容器中执行。
解决方案
在我得到的 Dockeralpine:3.6
容器上
$timeout --help
Usage: timeout [-t SECS] [-s SIG] PROG ARGS
所以你应该这样做timeout -t 60
。
推荐阅读
- javascript - 如何获取集合中每个发件人的最新消息?
- c - 为什么我需要强制转换两次才能使 -Werror=bad-function-cast 警告静音
- django - 当 ENGINE 设置为 postgresql_psycopg2 时无法使用 manage.py
- botframework - MS Teams Bot Framework:本地化的自适应卡片 Input.Date 格式问题与英语不同
- assembly - 在程序集 8086 (emulator8086) 中调用操作码后错误的参数错误
- kubernetes - feign.FeignException$NotFound: Kubernetes 中的状态 404 读取服务
- google-cloud-platform - 如何解决作为单例视图访问的多个元素的 PCollection
- node.js - 如何更改代码以从数据库中删除所有记录而不是一个?
- sql - 当列名与动态传递的变量匹配时,如何获取列的值(对于特定行)?
- javascript - 抓取elementID