欢迎光临散文网 会员登陆 & 注册

linux 数字循环、目录循环的写法展示

2023-05-11 15:40 作者:不妙脆角  | 我要投稿

给几个例子展示循环并传参的基本写法。要点:等号之间不要加空格,引用变量的值要用${},路径转义要用双引号引起来。

循环格式为

for

do

(一些内容)

done

数字循环

连续循环 (从1到100之类的)

1. 类似C语言写法

#!/bin/bash     

for((ind=1;ind<=10;ind++));   

do

value=$ind

./my_bash.sh $value

done  


2. 类似MATLAB写法

#!/bin/bash     

for ind in {1..10} 

do

value=$ind

./my_bash.sh $value

done  

非连续循环(枚举几个数字)

#!/bin/bash     

indices=(1 3 4 5)

for ind in ${indices[@]}; 

do

value=$ind

./my_bash.sh $value

done  


目录循环

这是一段脚本,作用是读取位于/home/yourfilepath/ 目录下的所有子目录,并且打开每个子目录中的txyz1.txt文件并读取里面的几个数传参给x,y,z,t四个变量。其中txyz1.txt是一行四个浮点数,由逗号隔开。

#!/bin/bash  

dir_root=”/home/“

input_dir="${dir_root}/yourfilepath/"

for d in "${output_dir}/"*; do

echo "$d"

  if [[ ! -d "$d" ]]; then

    continue

  fi

  file="$d/txyz1.txt"

  if [[ ! -f "$file" ]]; then

    continue

  fi

  IFS="," read t x y z < "$file"

  # 打印这四个浮点数

time=$((t * 10))

  echo "x=$x"

echo "y=$y" 

echo "z=$z" 

echo "time=${time}"

done


linux 数字循环、目录循环的写法展示的评论 (共 条)

分享到微博请遵守国家法律