![内置 bash 变量 $SECONDS 的魔力](https://linux22.com/image/994776/%E5%86%85%E7%BD%AE%20bash%20%E5%8F%98%E9%87%8F%20%24SECONDS%20%E7%9A%84%E9%AD%94%E5%8A%9B.png)
我一直在谷歌搜索这个脚本中的每个参数等,试图理解每一行的含义(如果有意义的话)。我想知道是否有人愿意帮我把所有内容“翻译”成简单的英语?我已经完成了前 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))
增加当前值
fi
If 语句结束,语法规则所需
done
While 循环结束,语法规则所需
测试脚本
要测试此脚本,请将 OP 的文本复制并粘贴到新文件中。出于我们的目的,将文件命名为seconds
。使用以下命令将文件标记为可执行文件:
chmod +x seconds
然后使用当前目录前缀调用 bash 脚本:
./seconds