我想使用子shell来确保环境更改不会影响循环中的不同迭代,但我不确定是否可以在子shell中使用循环控制语句(break
, continue
):
#!/bin/sh
export A=0
for i in 1 2 3; do
(
export A=$i
if [ $i -eq 2 ]; then continue ; fi
echo $i
)
done
echo $A
循环外部的值A
不受内部发生的任何事情的影响,这没关系。但是是否允许continue
在子外壳内部使用,还是应该将其移到外部?作为记录,它按其编写的方式工作,但也许这是一个不可靠的副作用。