我有一个像这样的脚本编写的for循环:
for((i=0;i<${#hours[@]})); do
dates=("$(last | egrep -v "reboot|wtmp|^$" | sort | tr -s " " | sed "$i q;d" | cut -f5-7 -d' ')")
done
如果我只是在终端中执行分配给dates
的命令,用一个数字(0,1,2 ...)替换$i
(在sed命令中),它会准确地返回给我我想要的是什么,例如Nov 15 23:15
。
但是,当在for
循环内部时,我似乎遇到了sed命令没有递增$i
的问题。我做错了什么?
答案 0 :(得分:-1)
您的问题是您永远不会更改i
。您应该在for
声明的第三部分更新它:
for((i=0;i<${#hours[@]};++i)); do
# ^^^ here