shell脚本编程

来源:互联网 发布:诈骗淘宝店铺 编辑:程序博客网 时间:2024/06/13 11:01

#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学习

相关热门文章
  • A sample .exrc file for vi e...
  • IBM System p5 服务器 HACMP ...
  • 游标的特征
  • DB2 9 应用开发(733 考试)认...
  • busybox的httpd使用CGI脚本(Bu...
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~