我正在学习 for 循环bash
,我在网上找到了如下示例:
for i in 1 2 3 4 5
do
echo $i
done
我1 2 3 4 5
用许多“东西”(数字、字符串、变量等)替换了:
myVar="!!"
myVar2="Bye"
for i in 3 15 1 32 6 "Hello World $myVar" 'Hello World in single quotes' Hi $myVar2 $(ls)
do
echo $i
done
当我运行上述代码的脚本时,它按预期工作。但将所有这些“东西”混合在一起是否在某种程度上是无效的?
答案1
假设您提供给循环的参数列表是(或者可以由 shell 扩展为)合法字符串,换句话说,您获得了任何 shell 扩展的正确语法,那么实际上就没有任何限制,一切都可以。
一旦扩展了参数列表,bash 就会将它们输入循环并让循环中的代码运行。
这样做不是一个好的做法,并且会使您的代码难以理解,但它本身并不是“无效”。