`
zhaoshunxin
  • 浏览: 29073 次
  • 来自: 济南
社区版块
存档分类
最新评论

Linux 判断&循环体

 
阅读更多


if  elseif else 判断
mytar.sh
#!/bin/sh
#操作命令后都要添加空格,对 [] 中添加conditions 也要添加空格
#!/bin/sh

 

if [ -z "${1}" ]; then
  echo "no file"
elif [ "${1##*.}" = "tar" ]; then
  echo "this is a tar file"
elif [ "${1##*.}" = "gz"  ]; then
  echo "this is not a gz file"
else
  echo "other file"
fi

//执行
./mytar.sh a.tar

 

 

myvar="3"
if [ "$myvar" != "3" ]    //用$输出要定义的变量 ${myvar}  字符比较须加上"" 因为$myvar 输出为 3
then
echo "$myvar"
else
echo "3"
fi

 

for 循环
for
do
……
done

 

while 循环

while [ condition ]
do
……
done

 

until 循环

until [ condition ]
do
……
done

 

 

for x in one two three four
do
echo $x
done  //输出结果 one  two three four  每一次循环 执行一次循环体 do …… done


//得到以a开头的文件 并判断其是否可写  如不可写就输出其权限  在echo 输出变量时 是使用命令 要将命令放于 $()中

for file in $(ls |grep ^a)
do
if [ -w "$file" ]
then
echo "$file can w"
else
echo "$(ls -ld $file)"
fi
done

 

 

shell的算术计算  $(())  别忘了是两个() 内层是计算  外层是$的输出
echo $((8*8))

 


read num    //读入数值
12


while [ $num != 9 ]  //如果读入数值不为 9 循环做计算
do
echo "$num"
  num=$(($num-1))
done

 

read num
12
until [ $num = 9 ]   //此处与while 相反  只要为真就会退出
do
echo "$num"
  num=$(($num-1))
done

 

 

case 判断结构体

read num
3
case "$num" in
      1)
      echo "1"
      ;;    //;; 如果==1 则执行 从)到;;的代码段
      2)
      echo "2"
      ;;
      *)
      echo "3"
      ;;
esac


函数 与 名称空间
//定义一方法体

readNum(){
case "$num" in
      1)
      echo "1"
      ;;
      2)
      echo "2"
      ;;
      *)
      echo "3"
      ;;
esac
}
num=1
readNum
  //执行输出 1

分享到:
评论

相关推荐

    新版Linux Shell编程实训(全)20170518.docx

    7.1.6 跳出循环体 137 任务7.2 Shell案例:重复执行命令和简单计算器 139 任务7.3 Shell案例:使用三种循环结构打印九九乘法表 141 练习(前两题每题30分,第三题40分,共计100分) 144 项目八 Shell函数 146 [学习...

    数据库基础

    §17.5 包体的说明 290 §17.6 删除过程、函数和包 293 §17.7 包的管理 293 §17.7.1 包有关的数据字典 293 §17.7.2 包中无效对象的查询和编译 294 §17.7.3 包源代码的导出 296 第十八章 触发器 297 §18.1 ...

    [多媒体/3D 动画/游戏] Unity3D游戏编程基础入门班 by 泰课在线(价值200元)[高清完整版][AVI+TS][1.43GB]

    他使我们使用一种语言就可以开发出基于各种平台的游戏,包括手机游戏(iPhone、Android、Windows Phone)、PC(Windows、Mac、Linux)、网页游戏(基于各种主流浏览器)、游戏机专用游戏(Wii、Xbox360、PS3) ...

    最新Java面试宝典pdf版

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    c语言编写单片机技巧

    UP测试,温度循环测试,高温贮存测试,湿度贮存测试等。 成测则是产品封装好后的测试,即PACKAGE测试。即是所有通过中测的产品封装后的测试,方法主要是机台自动测试,但测试项目仍与WAFER TEST相同。PACKAGE...

    C/C++笔试题(附答案,华为面试题系列)

    1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量...

    Java面试笔试资料大全

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    PyQt4 精彩实例分析26个例子

    方法,程序进入消息循环,等待可能输入进行响应。Qt 完成事件处理及显示的工作,并在应用程序退出时返叫exec_Q)的值 最后执行程序即可出现上图所示的对话框,一个简单的 Hello Kitty!例子完成。 信号与槽机制作为αt最...

    Java面试宝典2010版

    1. 判断第二个日期比第一个日期大 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则...

    Java面试宝典-经典

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    JAVA面试宝典2010

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    java面试题大全(2012版)

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    java面试宝典2012

    1. 判断第二个日期比第一个日期大 89 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 90 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    Java面试宝典2012版

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字...

    Java面试宝典2012新版

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...

Global site tag (gtag.js) - Google Analytics