关闭

shell脚本编程

77人阅读 评论(0) 收藏 举报
分类:

#case语句简单应用编程

#输入大写字母A - D,输出相应的语句

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash

echo -n "Input a chatacor A - D: "             #输出不换行

read IN                                            #读入一个实际字符

case $IN in

A)

    echo "chatacor A"                         #如果输入为A则输出chatacor A

    ;;

B)

    echo "chatacor B"

    ;;

C)

    echo "chatacor C"

    ;;

D)

    echo "chatacor D"

    ;;

Esac

 

变量赋值时,“=”左右两边都不能有空格

BASH 中的语句结尾不需要分号

           

       

#for语句

#格式for 变量名 in [列表]

#使用变量名来遍历列表中所有的取值

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash

for LO in A B C D

do

    echo $LO

Done

 

其 中 $var 是循环控制变量,[list] var 需要遍历的一个集合,do/done 对包含了循环体,相当于 C 语言中的一对大括号。另外如果do for 被写在同一行,必须在do 前面加上 “;”。如: for $var in [list]; do

           

       

#break跳出

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash

while :

do

    echo -n "Input a number: "

    read IN                                    #读入数字

    case $IN in

        1|2|3|4|5)                        

            echo "number 1 ~ 5"              #是否是1 5

            ;;

        *)

            echo "number>5, exit"

            break;                         #退出

            ;;

        esac

Done

 

 

 

#局部变量

#在变量首次被赋值时加上 local 关键字可以声明一个局部变量

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash  

var="var1"

echo $var

function func1

{

    local var="var2"

    echo $var

}

func1

echo $var

 

 

 

#实现对两个脚本参数的比较

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash  

 

if [ -z $1 ] || [ -z $2 ]           #特殊变量第一、二个命令行参数是否为空

then

    echo "please enter 2 no"

    exit 1

fi

 

if [ $1 -eq $2 ] ; then                  #两数相等

    echo "number a = number b"

else if [ $1 -gt $2 ]

    then

        echo "number a > number b"

    else  

        echo "number a < number b"

    fi 

fi

 

注意:

1. 在“[”和“]”符号的左右都留有空格

2. =”左右都有空格

 

 

 

#文件判断

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash  

 

[ -r $(pwd) ] && echo "Can read $(pwd)"

[ -f $(pwd) ] || echo "this is not file"

 

 

文件统计

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash

 

counter=0

for files in *

do

    counter=`expr $counter + 1`

done

echo $counter

 

 

 

#将输入的数字按倒序的方式输出

#AuthorLzy     时间:2011-4-15

 

#!/bin/bash

 

echo -n "Pleasw enter number : "

read n

while [ $n -gt 0 ]

do

    sd=$(( $n % 10 ))

    n=$(( $n / 10 ))

    echo -n $sd

done

echo

 

 

#AuthorLzy     时间:2011-4-15

#!/bin/bash

echo "Hit a key, then hit return."

read Keypress

 

case $Keypress in

    [A-Z] )    echo "Uppercase letter";;

    [a-z] ) echo "Lowercase letter";;

    [0-9] ) echo "Digit";;

    * ) echo "Punctuation, whitespace, or other";;

esac

   

一小时——第一部分:Linux&Shell

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(320) | 评论(0) | 转发(0) |
0

上一篇:ARM平台移植jpeg z png 库

下一篇:shell学习

给主人留下些什么吧!~~
评论热议
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32004次
    • 积分:390
    • 等级:
    • 排名:千里之外
    • 原创:90篇
    • 转载:10篇
    • 译文:0篇
    • 评论:0条
    文章分类