shell for循环同一层两个变量 不要嵌套
时间: 2023-05-14 22:06:44 浏览: 101
可以使用如下的语法实现同一层级的两个变量的 for 循环:
```
for var1 in list1; do
for var2 in list2; do
# do something with var1 and var2
done
done
```
其中,list1 和 list2 分别是两个变量的取值列表,可以是数组、命令输出结果等。在循环体中,可以使用 var1 和 var2 分别表示两个变量的取值。
相关问题
shell for循环可以同一层两个变量吗?不要嵌套
可以,可以使用空格或者逗号分隔两个变量。例如:
for i j in 1 2 3 4 5 6 7 8 9 10
do
echo $i $j
done
这个循环会输出:
1 2
3 4
5 6
7 8
9 10
基于makefile语法 写一个for循环嵌套使用
以下是一个基于makefile语法的for循环嵌套示例:
```makefile
# 定义变量
NUMBERS := 1 2 3 4 5
LETTERS := a b c d e
# 外层for循环
all:
@for num in $(NUMBERS); do \
echo "Number: $$num"; \
# 内层for循环
for letter in $(LETTERS); do \
echo "Letter: $$letter"; \
done \
done
```
在上述示例中,我们定义了两个变量:`NUMBERS` 和 `LETTERS`,分别存储数字和字母列表。然后,我们使用外层for循环迭代数字列表,并在每个循环中使用内层for循环迭代字母列表。
在makefile中,我们可以使用`$$`来转义`$`字符,以便在shell命令中使用变量。因此,我们在循环中使用`$$num`和`$$letter`来引用外部和内部循环中的变量。
要运行此makefile,请在终端中导航到包含makefile的目录,并运行`make`命令。此时,make将执行makefile中定义的`all`目标,并输出数字和字母列表的组合。
阅读全文