zl程序教程

您现在的位置是:首页 >  前端

当前栏目

shell for循环及分号、括号使用

循环shell for 括号 使用
2023-09-14 09:11:20 时间

转自:https://cloud.tencent.com/developer/article/1692546

1.for循环 

1.1 变量取值 

for 变量名 in 变量取值表
do
    指令
done

#示例
for a in {1..9}
do
  mkdir dir$a
done
说明:创建9个目录,变量名a会依次从变量取值表中拿内容,一次取一个,知道取完

其中{}大括号生成数字序列,'seq 1 9'类似的也可以 。

1.2 C语言型

for ((exp1;exp2;exp3))
do
    指令
done

#示例
for ((i=1;i<=3;i++))
do
    echo $i
done
#解释:i从1开始,当i<=3就可以运行,如果运行的值大于3,就退出循环

#语法结构讲解
for关键字后的双括号是三个表达式,
第一个是变量初始化(例如:i=1),第二个为变量的范围(例如i<=3),第三个为变量自增或自减(例如i++)。
当第一个表达式的初始化值符合第二个变量的范围时,就进行如循环执行,当条件不满足时就退出循环

2.括号

https://cloud.tencent.com/developer/article/1666172

2.1 ()单层

命令替换。等同于`comm`,shell扫描一遍命令行,发现了$(comm)结构,便将$(comm)中的comm执行一次,得到其标准输出,再将此输出放到原来命令。

# ls 
a b c 
# echo $(ls) 
a b c 

#echo `ls` 
a b c

  # echo \(ls\)
  (ls) 

2.2 (())双层

只对变量有用,相当于$,对命令没有用:

# echo ((ls))
bash: syntax error near unexpected token `('

3.分号

https://www.cnblogs.com/EasonJim/p/8315896.html,讲的清晰易懂。

在一行代码中,用于代码分块;如果已经有了换行符,那就不需要分号去分块了。