如何解决当用变量指定范围时,为什么for循环不能正确打印变量的值?
为什么将'i'的值打印为{1..5}而不是1,2 ..,5?并且循环在一次迭代后退出。我的for循环语法有问题吗?
SELECT *,ROW_NUMBER() OVER (ORDER BY dt) AS seqno
FROM
(
SELECT DISTINCT
K.emp_Reader_id,K.Belongs_to,K.newDT AS dt
FROM
(
SELECT emp_Reader_id,Belongs_to,CASE
WHEN DATEDIFF(MINUTE,K.checker,dt) > 5 THEN
dt
ELSE
K.checker
END AS newDT
FROM
(
SELECT *,FIRST_VALUE(dt) OVER (PARTITION BY CAST(dt AS DATE),DATEPART(HOUR,dt)
ORDER BY dt
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS checker
FROM #r
) AS K
) AS K
) AS K;
输出:
ash bash main.sh
5
1
{1..5}
我尝试使用不同的for循环语法
read n
sum=0
for i in {1..$n}
do
read num;
echo $i
sum=$((sum+num))
done
这很好,但是我想知道为什么前一个循环没有提供所需的输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。