在Linux中,for循环是一种常用的控制结构,用于Shell脚本中重复执行一系列命令,以下是一些常见的for循环案例及其输出:
1、遍历文件列表
(图片来源网络,侵删)
代码:
#!/bin/bash for file in /path/to/directory/* do echo $file done
输出:目录/path/to/directory
下所有文件的路径。
2、遍历数字列表
代码:
#!/bin/bash for i in {1..10} do echo $i done
输出:从1到10的数字,每个数字占一行。
(图片来源网络,侵删)
3、遍历命令输出
代码:
#!/bin/bash for user in $(cat /etc/passwd | awk -F ':' '{print $1}') do echo $user done
输出:系统上所有用户的用户名,每行一个用户名。
4、多重循环
代码:
(图片来源网络,侵删)
#!/bin/bash for i in {1..5} do for j in {1..3} do echo "$i,$j" done done
输出:组合输出1到5和1到3的所有数字对,如“1,1”、“1,2”等。
5、输出1到100之间所有质数的和
代码:
#!/bin/bash sum=0 for i in {2..100} do is_prime=1 for ((j=2; j<i; j++)) do if [ $((i % j)) -eq 0 ] then is_prime=0 break fi done if [ $is_prime -eq 1 ] then sum=$((sum + i)) fi done echo "The sum of prime numbers from 1 to 100 is: $sum"
输出:1到100之间所有质数的和。
6、打印给定目录下的文件数
代码:
#!/bin/bash dir="/path/to/directory" count=0 for file in $dir/* do if [ -f $file ] then count=$((count + 1)) fi done echo "The number of files in $dir is: $count"
输出:指定目录下的文件数量。
7、批量修改文件名
代码:
#!/bin/bash for file in *.txt do mv "$file" "${file/abc/def}" done
输出:将当前目录下所有的.txt文件名中的“abc”替换成“def”。
8、批量复制文件
代码:
#!/bin/bash for file in *.txt do cp "$file" /tmp/ done
输出:将当前目录下所有的.txt文件复制到/tmp
目录下。
9、批量压缩文件
代码:
#!/bin/bash for file in *.txt do tar czf "${file}.tar.gz" "$file" done
输出:将当前目录下所有的.txt文件压缩成.tar.gz格式。
10、批量解压文件
代码:
#!/bin/bash for file in *.tar.gz do tar xzf "$file" -C /tmp/ done
输出:将当前目录下所有的.tar.gz文件解压到/tmp
目录下。
11、批量部署应用
代码:
#!/bin/bash apps=(app1 app2 app3 app4 app5) for app in "${apps[@]}" do mkdir "/var/www/${app}" cp -r "/tmp/${app}"/* "/var/www/${app}/" done
输出:将多个应用部署到不同的目录下。
这些示例展示了for循环在Linux Shell脚本中的多种用法,通过灵活运用for循环,可以简化重复任务,提高工作效率。
以上就是关于“linux for循环 输出”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/77013.html