这个小 shell 函数应该与 bash 或 ksh(93) 一起使用
function loadavg {
typeset minutes=$1 t1=$(uptime)
echo ${t1#*load average: } | (
IFS=', ' && read L1 L5 L15
case $minutes in
(1) echo $L1;;
(5) echo $L5;;
(15) echo $L15;;
("") echo $L1 $L5 $L15;;
(*) echo "usage: loadavg [ 1 | 5 | 15 ]" 1>& 2
esac
)
}
解释:
此代码使用 IFS 将 "load average:" 之后的字符串拆分为三个字段。'typeset' 和 subshell 将函数变量与其他 shell 变量隔离开来。
下面简化了结果,只返回原始问题的答案:
function load5 {
typeset t1=$(uptime)
echo ${t1#*load average: } | (
IFS=', ' && read L1 L5 L15
echo $L5
)
}