在 Google 上搜索了大约一个小时,找到了对以下内容的简单明了的解释。在什么时候:
for i in $(eval echo "{01..30}"); do
echo $i
done
...Bash 是否计算大括号的 '..' 部分?
谢谢
扎克
最佳答案
您可以在 shell 脚本中使用 set -x
自行查看 ( Debugging Bash scripts )
set -x
for i in $(eval echo "{01..30}"); do
echo $i
done
这是输出:
++ eval echo '{01..30}'
+++ echo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
+ for i in '$(eval echo "{01..30}")'
+ echo 1
1
+ for i in '$(eval echo "{01..30}")'
+ echo 2
2
关于Bash:大括号扩展优先级和范围循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021412/