内置 bash 变量 $SECONDS 的魔力

内置 bash 变量 $SECONDS 的魔力

我一直在谷歌搜索这个脚本中的每个参数等,试图理解每一行的含义(如果有意义的话)。我想知道是否有人愿意帮我把所有内容“翻译”成简单的英语?我已经完成了前 5 行,但我不确定它是否正确 :/ 任何帮助都值得感激。谢谢!

这是脚本:

#!/bin/bash
current=0
while [ $SECONDS -le 10 ]; do
    if [ $SECONDS -eq ${current} ]; then
        echo ${current}
        current=$((${current}+1))
    fi
done

答案1

内置 bash 变量 $SECONDS 的魔力

您的脚本突出显示内置的 bash 变量$SECONDS,该变量跟踪 bash 脚本已运行了多少秒。最初它从零开始,工作变量current在脚本开始时设置为此值。然后脚本循环并在current每次 $SECONDS 更改时递增,并在屏幕上显示“1、2、3... 10”。


逐行分析 Bash 脚本:

#!/bin/bash告诉系统这是一个 bash 脚本

current=0设置变量当前的至 0

while [ $SECONDS -le 10 ]; do当此脚本运行的秒数小于或等于 10 时,执行以下操作

if [ $SECONDS -eq ${current} ]; then如果当前值等于秒数则:

echo ${current}显示当前值(最初为 0,然后为 1、2、3......直到 10)

current=$((${current}+1))增加当前值

fiIf 语句结束,语法规则所需

doneWhile 循环结束,语法规则所需


测试脚本

要测试此脚本,请将 OP 的文本复制并粘贴到新文件中。出于我们的目的,将文件命名为seconds。使用以下命令将文件标记为可执行文件:

chmod +x seconds

然后使用当前目录前缀调用 bash 脚本:

./seconds

相关内容