分类:
2011-04-20 21:29:23
原文地址:shell脚本编程 作者:luozhiyong131
#case语句简单应用编程
#输入大写字母A - D,输出相应的语句
#Author:Lzy 时间: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 [列表]
#使用变量名来遍历列表中所有的取值
#Author:Lzy 时间: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跳出
#Author:Lzy 时间: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 关键字可以声明一个局部变量
#Author:Lzy 时间:2011-4-15
#!/bin/bash
var="var1"
echo $var
function func1
{
local var="var2"
echo $var
}
func1
echo $var
#实现对两个脚本参数的比较
#Author:Lzy 时间: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. “=”左右都有空格
#文件判断
#Author:Lzy 时间:2011-4-15
#!/bin/bash
[ -r $(pwd) ] && echo "Can read $(pwd)"
[ -f $(pwd) ] || echo "this is not file"
文件统计
#Author:Lzy 时间:2011-4-15
#!/bin/bash
counter=0
for files in *
do
counter=`expr $counter + 1`
done
echo $counter
#将输入的数字按倒序的方式输出
#Author:Lzy 时间: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
#Author:Lzy 时间: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