我是靠谱客的博主 苹果音响,最近开发中收集的这篇文章主要介绍学会Linux Shell循环脚本看这一篇就够了 一、常用for循环结构 二、常见案例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言:

循环不管在程序中还是脚本中都需要经常用到,

那么在 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循环结构 二、常见案例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部