shell语句_for

蛋蛋 2022年09月13日 18 0

for

for循环有三种结构:一种是列表for循环,第二种是不带列表for循环。第三种是类C风格的for循环。

列表for循环

#!/bin/bash
for i in {1..5}
#for i in 1 2 3 4 5
do
    echo ok
done
通过for循环显示当前目录下所有的文件
#!/bin/bash
for file in $( ls )
do
  echo "file: $file"
done
计算1~100内所有的奇数之和
#!/bin/bash

sum=0

for i in {1..100..2}
#for i in $(seq 1 2 100),seq表示起始数为1,跳跃的步数为2,结束条件值为100
do
    let "sum+=i"
done

echo "sum=$sum"

问题1: 这边的i为啥不用加$呢?

问题2:{1..100..2}是什么意思

--》按步数2不断递增?

shell从文本里按行读取数据,并赋值给多个变量

#!/bin/bash
for line in $(<1/1_43.txt)
do
        m=$(echo $line | awk -F',' '{print $1}')
        lon=$(echo $line | awk -F',' '{print $2}')
        lat=$(echo $line | awk -F',' '{print $3}')
        #echo $line
        #echo $m,$lon
        #echo $m,$lat
done

疑问:

$(<1/1_43.txt):

Last Updated: 2022/09/13 18:59:15
shell_正则 shell语句_while