我正在寻找可以解析持续时间的 bash
脚本。
如果给出三个参数,它们代表小时、分钟和秒。如果给出两个参数,它们表示分钟和秒,小时为零。
最佳答案
以下情况如何:
#!/bin/bash
h=0
if [ "$#" -ge 3 ]
then
h=$1
shift
fi
sec=$((3600*$h+60*$1+$2))
echo "The total number of seconds is $sec"
由于问题没有指定您打算用给定时间做什么,程序会计算总秒数。此外,检查是否至少给出了两个参数可能很有用。
脚本使用 shift
操作,移位使得 $1 := $2
; $2 := $3
,等等。换句话说,第一个参数被处理,然后你“假装”它不存在。
默认情况下,您将h
设置为零,只有当参数的数量大于或等于3
时,它才会设置h
.
关于linux - 编写一个接受持续时间作为参数的 bash 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32662450/