seq的效果
# seq 1 5 1 2 3 4 5
第一个for脚本
#!/bin/bash # for 操作 for i in `seq 1 5` do echo "num is $i" done
计算1到100的和。
# expr 1 + 100 101
#!/bin/bash # 计算1到100的和 j=0 for i in `seq 1 100` do j=`expr $i + $j` done echo -e "\033[32m 1到100的和为:$j \033[0m";
#!/bin/bash # 计算1到100的和 j=0 for i in {1..100} do j=`expr $i + $j` done echo -e "\033[32m 1到100的和为:$j \033[0m";
#!/bin/bash # 计算1到100的和 j=0 for((i=1;i<=100;i++)) do j=`expr $i + $j` done echo -e "\033[32m 1到100的和为:$j \033[0m";
-x可以查看执行过程。
/bin/bash -x for.sh + BEGIN=1 + END=10 + j=0 + (( i=1 )) + (( i<=10 )) ++ expr 1 + 0 + j=1 + (( i++ )) + (( i<=10 )) ++ expr 2 + 1 + j=3 + (( i++ )) + (( i<=10 )) ++ expr 3 + 3 + j=6 + (( i++ )) + (( i<=10 )) ++ expr 4 + 6 + j=10 + (( i++ )) + (( i<=10 )) ++ expr 5 + 10 + j=15 + (( i++ )) + (( i<=10 )) ++ expr 6 + 15 + j=21 + (( i++ )) + (( i<=10 )) ++ expr 7 + 21 + j=28 + (( i++ )) + (( i<=10 )) ++ expr 8 + 28 + j=36 + (( i++ )) + (( i<=10 )) ++ expr 9 + 36 + j=45 + (( i++ )) + (( i<=10 )) ++ expr 10 + 45 + j=55 + (( i++ )) + (( i<=10 )) + echo -e '\033[32m 1到10的和为:55 \033[0m' 1到10的和为:55
设置别名
# alias sh='/bin/bash'
# sh -x for.sh + BEGIN=1 + END=10 + j=0 + (( i=1 )) + (( i<=10 )) ++ expr 1 + 0 + j=1 + (( i++ )) + (( i<=10 )) ++ expr 2 + 1 + j=3 + (( i++ )) + (( i<=10 )) ++ expr 3 + 3 + j=6 + (( i++ )) + (( i<=10 )) ++ expr 4 + 6 + j=10 + (( i++ )) + (( i<=10 )) ++ expr 5 + 10 + j=15 + (( i++ )) + (( i<=10 )) ++ expr 6 + 15 + j=21 + (( i++ )) + (( i<=10 )) ++ expr 7 + 21 + j=28 + (( i++ )) + (( i<=10 )) ++ expr 8 + 28 + j=36 + (( i++ )) + (( i<=10 )) ++ expr 9 + 36 + j=45 + (( i++ )) + (( i<=10 )) ++ expr 10 + 45 + j=55 + (( i++ )) + (( i<=10 )) + echo -e '\033[32m 1到10的和为:55 \033[0m' 1到10的和为:55
批量压缩文件,批量传输文件都可用到for循环。
来源:https://www.cnblogs.com/jiqing9006/p/10044654.html