欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux for 循环示例 文心一言 chatgpt 有大用 有大大用

在Linux中,for循环经常用于shell脚本(如bash、sh等)来迭代字符串或数字列表。以下是几个for循环的示例:

  1. 迭代字符串列表

bash复制代码

#!/bin/bash  



for fruit in apple banana cherry; do  

echo "I like $fruit"  

done

当你运行这个脚本时,它会输出:

bash复制代码

I like apple

I like banana

I like cherry
  1. 迭代数字列表(使用seq命令):

bash复制代码

#!/bin/bash  



for i in $(seq 1 5); do  

echo "Number is $i"  

done

或者,在bash中,你可以直接使用{1..5}

bash复制代码

#!/bin/bash  



for i in {1..5}; do  

echo "Number is $i"  

done

当你运行这个脚本时,它会输出数字1到5。

  1. 读取文件中的每一行

bash复制代码

#!/bin/bash  



while IFS= read -r line; do  

echo "Processing: $line"  

done < filename.txt

或者,使用for循环和文件描述符(这种方法不常用,但可以用于理解):

bash复制代码

#!/bin/bash  



exec 3< filename.txt  # 打开文件并为其分配文件描述符3  

while read -r line <&3; do  # 从文件描述符3读取  

echo "Processing: $line"  

done  

exec 3<&-  # 关闭文件描述符3
  1. 迭代目录中的文件

bash复制代码

#!/bin/bash  



for file in /path/to/directory/*; do  

if [ -f "$file" ]; then  # 确保是一个文件  

echo "File: $file"  

fi  

done

这个脚本会迭代/path/to/directory/目录中的所有文件和目录,但只会输出文件的名字(使用-f测试)。如果你还想包括子目录中的文件,你可以使用find命令。

注意:在编写shell脚本时,确保你的脚本有正确的执行权限(使用chmod +x scriptname.sh命令)。然后,你可以通过./scriptname.sh来运行它。


普通分类: