如何使用linux sleep命令暂停bash脚本

sleep命令使您的Linux计算机什么都不做。也许与直觉相反,但有时需要一段时间的不活动。本文将向您展示如何有效地使用这个bashshell命令。...

sleep命令使您的Linux计算机什么都不做。也许与直觉相反,但有时需要一段时间的不活动。本文将向您展示如何有效地使用这个bashshell命令。

利用睡眠很容易。在命令行中键入sleep、空格、数字,然后按Enter键。

sleep 5

光标将消失5秒钟,然后返回。怎么搞的?在命令行上使用sleep会指示Bash在您提供的时间内暂停处理。在我们的例子中,这是5秒。

如何使用linux sleep命令暂停bash脚本

我们可以用几天、几小时、几分钟以及几秒钟来计算睡眠时间。要做到这一点,请使用带有持续时间的后缀d、h、m或s。要使睡眠暂停1天4小时7分5秒,请使用以下命令:

sleep 1d 4h 7m 5s

s后缀(秒)是可选的。如果没有后缀,睡眠将把任何持续时间都视为秒。假设你想让睡眠暂停5分20秒。此命令的一种正确格式是:

sleep 5m 20

Advertisement

如果您忘记在分钟持续时间上提供m后缀,您将指示睡眠暂停5秒,然后再暂停20秒。所以睡眠会暂停25秒。

许多命令要求您按特定顺序提供参数,但sleep是非常宽容的。你可以提供他们在任何顺序和睡眠将有意义的他们。也可以提供浮点数作为参数。例如,0.5小时是一个有效的方式来表示您希望睡眠暂停半小时。

以下所有命令(越来越古怪)都告诉sleep暂停10秒钟。

sleep 10 sleep 5 5s Sleep 1 1 1s 1 1 1s 1 2 sleep 0.16667m

使用sleep在命令前暂停

sleep命令可用于在执行命令之前暂停。此命令将暂停15秒,然后发出哔哔声。

sleep 15 && echo -en '\007'

使用sleep在两个命令之间暂停

可以使用sleep在两个命令之间暂停。此命令将列出文档目录中的文件,暂停5秒钟,然后将当前工作目录更改为主目录:

ls -R ~/Documents && sleep 5 && cd ~

如何使用linux sleep命令暂停bash脚本

使用sleep暂停脚本的执行

您可以在shell脚本中使用sleep命令来暂停脚本的执行一段精确的时间。通常,这样做是为了在脚本继续处理之前让某个进程有足够的时间完成。您还可以使用它来对脚本向另一个资源发出的请求进行速率限制。

Advertisement

为了准确地演示这一点,下面是一个使用curl调用googleweb服务的脚本。当您使用一本书的ISBN号查询web服务时,它会以一堆关于该书的JSON数据作为响应。我们可以通过jq实用程序来解析数据,以检索书名。为了使脚本不会对web服务施加压力,它会在web请求之间休眠一秒钟。

创建一个包含以下文本的文件,并将其另存为check\ u book.sh。

#!/bin/bash for book in `cat $1` do echo $book":" curl -s https://www.googleapis.com/books/v1/volumes?q=i**n:$book | jq '.items | .[] | .volumeInfo.title' echo "" sleep 1 done echo "All done."

键入以下命令以设置执行权限并使脚本可执行。

chmod +x check_book.sh

该脚本需要curl和jq实用程序。如果您使用的是Ubuntu或其他基于Debian的发行版,请使用apt-get将这些软件包安装到您的系统上。在其他Linux发行版上,请改用Linux发行版的包管理工具。

sudo apt-get install curl sudo apt-get install jq

创建一个包含以下数字的文本文件,并将其另存为books.txt。

9781565921276 9781874416685 9781565921672 9780521431088 9781491941591

运行check_book.sh脚本并将books.txt文件作为参数传入。

./check_book.sh books.txt

如何使用linux sleep命令暂停bash脚本

Advertisement

每隔一秒钟向googleweb服务发出请求。书名将在查询每个ISBN编号后不久出现。

那就是睡觉的全部了。check_book.sh脚本的内部工作超出了本文的范围。选择这个脚本纯粹是为了说明sleep命令的有效使用。如果您想阅读关于脚本的两个主要组件的更多信息,请参阅curl项目页面和jq联机手册。

  • 发表于 2021-07-15 02:24
  • 阅读 ( 125 )
  • 分类:互联网

你可能感兴趣的文章

什么是shell脚本,为什么要使用它

... 如何执行shell脚本?很简单。只需将脚本路径作为参数传递给shell: ...

  • 发布于 2021-03-13 04:53
  • 阅读 ( 254 )

顶级网站和书籍,让您成为linux命令行英雄

...bash是什么、不同的模式(交互式和非交互式)以及它是如何产生的基础知识开始,这个站点提供了一个全面的背景知识来帮助您理解命令行的机制。 ...

  • 发布于 2021-03-14 07:04
  • 阅读 ( 251 )

在linux中,“bash”是什么意思?

...在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 456 )

关于linux中bash for loops的所有知识

... 第一行告诉运行这个程序的人如何运行它(即使用bash解释器)。第二个命令与您在命令行中输入的任何其他命令一样。将该文件另存为hello_世界.sh,然后: ...

  • 发布于 2021-03-29 06:22
  • 阅读 ( 315 )

哪个linux shell最好?比较了5种常见的贝壳

...你的计算机需要一个翻译层。这介于你告诉它做什么和它如何理解之间。 ...

  • 发布于 2021-03-30 18:45
  • 阅读 ( 376 )

如何使用受限shell来限制linux用户可以做什么

...改其目录,您可以控制他们可以访问哪些命令。下面介绍如何在Linux上设置受限shell。 受限炮弹 受限shell不是另一个shell。这是标准外壳的另一种模式。Bash、Korn、Fish和其他shell都可以在受限shell模式下启动。在本文中,我们将...

  • 发布于 2021-03-31 10:57
  • 阅读 ( 390 )

如何在启动时用systemd运行linux程序

...建集成服务的过程,甚至与杂志进行对话。 本教程演示如何设置启动系统时启动的系统服务。要在登录时启动图形程序,请改用桌面的启动管理器。 启动时运行程序 有时,您在计算机上安装的软件会将自己连接到Linux启动过...

  • 发布于 2021-04-01 17:43
  • 阅读 ( 288 )

如何使用chsh在linux上更改默认shell

Bash不是唯一的Linux shell。很容易尝试其他的shell,比如非常流行的Zsh。找到一个您喜欢的shell后,使用chsh命令将其设置为默认shell。我们会教你怎么做。 为什么贝壳很重要 shell位于您和操作系统之间。它在终端窗口内提供环境...

  • 发布于 2021-04-02 06:04
  • 阅读 ( 339 )

如何在linux上的bash中设置环境变量

Linux上有多种类型的环境变量。了解如何查看它们,为本地和远程登录创建它们,并使它们在重新启动后仍然有效。 环境变量的工作原理 启动终端窗口及其内部的shell时,会引用一组变量,以确保shell配置正确。这些变量还确...

  • 发布于 2021-04-02 06:44
  • 阅读 ( 225 )

如何在bash中使用变量

...给它: drink_of-the_Year="$my_boost $this_year" echo drink_of_the-Year 如何在脚本中使用变量 如果没有变量,脚本将完全无法运行。变量提供了灵活性,使脚本成为通用的解决方案,而不是特定的解决方案。为了说明这一区别,这里有一个...

  • 发布于 2021-04-03 02:34
  • 阅读 ( 203 )
qrkb4059
qrkb4059

0 篇文章

相关推荐