if语法 :
 
if [ expression ] 
   then
   commands
elif [ expression2 ]
   then
   commands
else
   commands
fi
 
 
 
case 语法:
 
case string1 in
   str1)
    commands;;
   str2)
    commands;;
   *)
    commans;;
esac
 
 
 
循环语句 for 语法: 
 
for  var in list

do

    commands
  done

 
  在此形式时,对在list中的每一项,for语句都执行一次,list可以使包括几个单词的、由空格隔开的变量,也是可以直接输入的几个值,每执行一次循环,var都被赋予list中的当前值,直到最后一个为止;
 
 
第二种形式:
 
for var
do
  commands;
done 
使用这种形式时,对变量var中的 每一项,for语句都执行一次,此时,外壳程序假定变量 var
中包含外壳程序在命令行的所有位置参数;
 
 
 
 
while 循环语句:
 
while expression
 do 
   commands;
 done
 
 
 
until循环语句:
 
只是条件为假的时候,才会去执行until语句

until expression

do
  commands 
done 
 
 
 
shift 语句:
  shift 命令用来将存储在位置参数中的当前值左移一个位置;
 
  
   $1=-r  $2=file1  $3=file3
 执行shift命令:
   shift
 你会得到:
$1 = file1 $2 = file2 
 
也可以指定每次偏移的位数:
 shift 2     // 意味着每次移动两个位置;
 
 
while [ "$1" ]
d o
if [ "$1" = "-i" ] then
  infile = " $ 2 "
   shift 2
elif  [ "$1" = "-o" ]
   then   
   outfile = " $ 2 "
   shift 2
else
   echo "Program $0 does not recognize option $1"
fi
done
  tr a-z A-Z <$infile >$outfile      // 将小写转化诶大写, 输入的文字是;  // 
 
 
 
 
select  选择语句:
 
 
select menuitem [in list_of_items]
do
   commands;
done
 
当select语句执行时,shell为在list_of_items 中的每一项创建一个标有数字的菜单项;;
list_of_items 可以是包含几个条目的变量, 就像是choose1 choose2,或者直接在命令中输入的选择项;
 
select menuitem in choice1 choice2 choice3
 
如果没有list_of_items ,select语句则使用命令行的位置参数,就像for表达式一样;
 
 
 
 
repeat 语句:  
  
 repeat 语句只存在于tcsh中,在pdksh 和bash中没有相似的语句。 repeat 语句用来使一个单
一的语句执行指定的次数,erpeat语句如下:
   repeat count commands;
下面给出repeat语句的一个例子。它读取命令行后的一串数字。并根据数字在屏幕上分行输出句号.
 

#
foreach num ($*)
   repeat $num echo -n "."
   echo ""
end
任何repeat 语句都可以用while 或 f o r语句重写。  repeat语句只是更加方便而已。

 
 
 
子函数: 
  外壳函数可以定义自己的函数,就像C或是其他语言一样,使用函数的最大好处
就是使得程序更为清晰,可读, 
fname(){
   shell commands;
}
 
 
使用函数的时候:
fname  per1 per2 per3 
 

Shell 语法 if 、 case 、for 、 while、 until 、select 、repeat、子函数的更多相关文章

  1. shell编程——流控制case和select

    在shell编程里有时候需要出现交换界面,让使用者来选择要执行的功能,如下面所示,这时候就需要用到case和select进行配合 请选择功能: 1) 退出 2) 系统升级 3) 防火墙配置 4) to ...

  2. Linux Shell系列教程之(十三)Shell分支语句case … esac教程

    本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...

  3. shell语法基础

    一.变量 1.linux大小写敏感,变量取名要注意大小写.可以通过变量名前面加$来访问变量的内容.可以通过使用read命令来将用户输入的值赋给一个变量. 2.给变量赋值时,如果字符串中包含空格,就必须 ...

  4. mysql语法之case when then与列转行

    mysql语法中case when then与列转行的使用场景非常丰富. case语句类似java中条件分支语句的作用,可以类比java中的switch语句或者if语句来学习. 其语法如下: case ...

  5. shell语法使用

    这两天初次接触shell编程,所谓shell编程其实就是用一定的语法将各种基本的命令组合起来,让shell程序去解释执行.如果对windows的dos有了解,可以这样理解,其实shell脚本文件和.b ...

  6. shell语法(二)

    Shell脚本语法 条件测试:test. [ ] 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1 ...

  7. shell脚本中case的用法

    shell脚本中case选择语句可以结合read指令实现比较好的交互应答操作,case接收到read指令传入的一个或多个参数,然后case根据参数做选择操作. case的语法如下 case $char ...

  8. Shell语法规范

    ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介绍了Shell编程的一些语法规范,主要参考依据为谷歌的Shell语法风格. 目录 背景 使用哪一种Shell 什么 ...

  9. 转:bash shell 语法1

    1 Shell介绍 Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batc ...

随机推荐

  1. IIS短文件名扫描工具

    #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import httplib import urlparse import strin ...

  2. OC-常见错误 方法与函数的区别

    对象方法: 1,减号 - 2,声明必须写在@interface和@end之间   实现必须写在@implement 和@end之间 3,对象方法只能由对象来调用 4,对象方法归类.对象所有 函数: 函 ...

  3. SVN使用教程总结[转]

    SVN使用教程总结   SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Sub ...

  4. 【11-23】window常用知识

    tips msconfig :管理应用程序加载启动项,也可以通过我的计算机查看 service.msc :管理windows本地服务 命令行:net start :显示所有启动的服务,不加分号 net ...

  5. Java字节流:BufferedInputStream BufferedOutputStream

    -----------------------------------------------------------------------------------BufferedInputStre ...

  6. hdu5072 Coprime (2014鞍山区域赛C题)(数论)

    http://acm.hdu.edu.cn/showproblem.php?pid=5072 题意:给出N个数,求有多少个三元组,满足三个数全部两两互质或全部两两不互质. 题解: http://dty ...

  7. 淘宝首页源码藏美女彩蛋(上)(UED新作2013egg)

    今日,偶尔翻看淘宝源码,发现竟有美女形状源码.如下图: 此段代码在console中运行,结果更为惊叹. 亲手尝试的读者已经看到了代码运行的结果.taobao.com的console打印出了UED的招聘 ...

  8. 老项目的#iPhone6与iPhone6Plus适配#LaunchImage适配

    本文永久地址为 http://www.cnblogs.com/ChenYilong/p/4020384.html,转载请注明出处.  Evernote印象笔记链接:https://www.everno ...

  9. 游戏BUFF设计

    游戏中的BUFF/DEBUFF我们见过很多,我见到的玩得比较泛滥的就属WAR3.魔兽世界.九阴真经.仿DOTA类的如LOL. 总体上来说,BUFF/DEBUFF都属于“临时的技能效果”,因此它们可以沿 ...

  10. leofs存储总结

    1.leofs角色 Account(账户).Bucket(对象桶).Object(对象), gateway.manager0.manager1.storage Account 一个account可以创 ...