就像标题所说,有什么情况下echo会在bash/sh中退出非零值?
代码ex.
until monitor_thing_happens; do
test $retry_counter -eq 0 && echo "thing didn't happen" && exit 1
let "retry_counter--"
echo "tries remaining: ${retry_counter}"
sleep 5
done
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,如果echo退出非零,则&&逻辑中断,我们永远不会退出1,我们将永远循环.任何危险/边缘情况,回声可以退出非零?
给出以下代码:
length = 10
numbers = [x for x in range(length)]
start_index = randint(0,length-1)
# now output each value in order from start to start-1 (or end)
# ex. if start = 3 --> output = 3,4,5,6,7,8,9,0,1,2
# ex if start = 9 ---> output = 9,0,1,2,3,4,5,6,7,8
Run Code Online (Sandbox Code Playgroud)
什么是最好/最简单/最pythonic /最酷的方式迭代列表并按顺序打印每个值,从start开始并包装到start-1或者如果随机值为0则结束.
防爆.start = 3然后输出=3,4,5,6,7,8,9,1,2
我可以想到一些丑陋的方式(尝试,除了IndexError之外),但寻找更好的东西.谢谢!
编辑:更清楚的是start是从索引值开始的