linux基础知识----Just for Tencent(shell_循环命令)

1.for语句

for  var  in  list 

do 

           commands;

done

for  test in  Arizona  Arkansas   "New York"  Colorado  “this'll”    //注意list写法

   当列表中包含单引号时,这部分内容需要用双引号,以让他们保持一个整体,默认是以空格作为分隔符,New York 是一个整体,中间有空格,也需要使用双引号

do

         commands

done

每一次循环都把list中的下一个值赋给$test

list="Arizona  Arkansas Arizona  Arkansas"

list=$list" hello"   //在原来的list上增加一个值

for state in $list   //不需要冒号,从变量中获取值

do

echo  "Have  you ever visited $state"

done

file="states"    //这是跟脚本在同一个目录下的一个文件

for state in $file

do

  echo "visit beautiful  $state"

done

2.更改字段分隔符

bash shell会将 空格、制表符、换行符当作分隔符

file="states"    //这是跟脚本在同一个目录下的一个文件

IFS.OLD=$IFS    //先保存

IFS=$'\n'    //表示把换行符作为分隔符,默认是空格,临时修改

for state in $file

do

echo "visit beautiful  $state"

done

IFS=$IFS.OLD  //恢复

指定多个分隔符

IFS=$'\n':;"    同时将换行\n 冒号  分号  双引号 作为分隔符

3.用通配符读取目录

可以用for命令自动遍历目录中的文件

for  file in /home/rich/test/*       //注意*号

       if [ -d "$file" ]                //注意引号

      then

              echo  "$file is a  directory"

     elif [ -f  "$file" ]

     then 

                    echo  "$file is a file"

    fi

6.C语言风格的for命令

for (( a=1,b=10;a<10;a++,b--))

do

     echo  "$a-$b"

done

7.while循环

while test command   //[ $var1 -gt 0 ]

do

    commands;

done

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为何叫做 shell ? shell prompt(PS1) 与 Carriage Return(CR) 的关系?...
    Zero___阅读 3,185评论 3 49
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,124评论 0 0
  • 第1章 小试牛刀 $ 是普通用户,# 表示管理员用户 root。 shebang:#!。sharp / hash ...
    巴喬書摘阅读 6,422评论 1 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,779评论 0 11