概述
前言:
循环不管在程序中还是脚本中都需要经常用到,
那么在 linux 中 简单的shell 脚本怎么写循环呢?
在写shell脚本时,经常需要进行循环操作。
这里简单谈一下 常用的 for循环结构
然后再添加几个不同的例子,以便帮助有需要的朋友。
比如 从1到100的循环方法,循环解压文件, 循环向 Hive 导入数据等等。
再linux 下 for 循环中可以使用 break 和 continue 关键字来跳出循环,
和java 用法一致
一、常用for循环结构
#语法一
for 变量 in 值1 值2 值3..
do
程序块儿
done
#语法二
for 变量 `命令`
do
程序块儿
done
#语法三
for ((初始值; 循环控制; 变量变化))
do
程序块儿
done
二、常见案例
1. 从1到100的 不同 循环方法 :
C语言风格
for ((i=1; i<=100; i++))
do
echo $i
done
Python风格(in的使用)
for i in {1..100}
do
echo $i
done
Seq的使用
seq: squeue 是一个序列的缩写,主要用来输出序列化的东西
注意代码中不是单引号。
for i `seq 1 100`
do
echo $i
done
2 . 输出3次你是猪
#!/bin/bash
for i in 1 2 3 4 5
do
echo "$i-->$(你是猪)"
done
3. 批量解压缩当前文件夹下所有的.tar.gz 文件
#!/bin/bash
for i in `ls ./*.tar.gz`
do
tar -zxvf $i >/dev/null
done
4. 遍历目录 批量将数据导入 Hive
#! bin/bash
yyyy=`ls /NetworkInfoDataS` #定义遍历的目录
for yy in $yyyy
do
MM=`ls /NetworkInfoDataS/${yy}`
for mm in $MM
do
DD=`ls /NetworkInfoDataS/${yy}/${mm}`
for dd in $DD
do
hive -e "
use date;
LOAD DATA LOCAL INPATH '/NetworkInfoDataS/${yy}/${mm}/${dd}/${yy}-${mm}-${dd}.txt' OVERWRITE INTO TABLE networkqualityinfo PARTITION (yyyy='${yy}',mm='${mm}',dd='${dd}');
"
done
done
done
最后
以上就是苹果音响为你收集整理的学会Linux Shell循环脚本看这一篇就够了 一、常用for循环结构 二、常见案例的全部内容,希望文章能够帮你解决学会Linux Shell循环脚本看这一篇就够了 一、常用for循环结构 二、常见案例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复