shell的for循环中为什么要加$
时间: 2023-11-03 21:01:55 浏览: 60
在shell脚本中,变量名前面加上"$"符号可以引用该变量的值。在for循环中,"$"符号是用来引用循环变量的值,例如:
```
for i in $(seq 1 10)
do
echo $i
done
```
在上面的例子中,"$i"是循环变量,"$"符号用来获取$i的值。如果省略"$"符号,shell会将$i视为一个普通字符串,而不是一个变量。
相关问题
shell脚本循环for循环中执行命令
在 shell 脚本中,可以通过 `for` 循环来执行一系列命令。如果你想在 `for` 循环中执行命令,可以在循环体内使用反引号或 `$()` 来执行命令并将输出结果赋值给变量。
例如,以下是一个使用 `for` 循环执行命令的示例:
```bash
#!/bin/bash
for i in $(ls *.txt); do
echo "Processing file: $i"
wc -l $i
done
```
这个脚本会遍历当前目录中所有以 `.txt` 结尾的文件,并对每个文件执行 `wc -l` 命令,以计算文件中的行数。在循环体内使用 `$i` 变量来引用当前正在处理的文件名。
注意,在循环体内执行的命令必须使用正确的语法和参数,否则可能导致脚本执行失败或产生不正确的结果。
shell中for循环
shell中的for循环可以用来遍历一个列表或者字符串中的每一项。语法格式如下:
```
for var in list
do
commands
done
```
其中,"var"是循环变量,"list"是需要遍历的列表或字符串,"commands"是需要执行的命令。
例如:
```
for i in 1 2 3 4 5
do
echo $i
done
```
输出结果为:
```
1
2
3
4
5
```
另外也可以使用`for ((i=1; i<=5; i++))`这种语法来遍历数字序列。
```
for ((i=1; i<=5; i++))
do
echo $i
done
```
输出结果为:
```
1
2
3
4
5
```