我正在尝试做一个类似于这个基本循环的循环:
storage-33:~# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
但是我在我的脚本上设置了两个变量$ first_sd和$ last_sd
我在shell上运行时失败了。行为不是我预期的从A到Z的循环。它实际上根本不做循环,我是否需要转换我的变量或是否有一个技巧使这工作?看看我在这里做的不好的例子(这不起作用)
storage-33:~# for i in {$first_sd..$last_sd}; do echo HI $i; done
HI {a..h}
谢谢!
答案 0 :(得分:1)
您可以使用eval
记住以逃避相应的字符:
eval "for i in {$first_sd..$last_sd}; do echo HI \$i; done"
答案 1 :(得分:1)
使用eval
for i in $(eval echo "{$first_sd..$last_sd}"); do echo HI $i; done