第一个:比较两个数的大小
在shell编程中,如果多个关键字写在一行的话,关键字之间应该用分号隔开,否则会出现错误无法运行。
#!/bin/bash
#将第一个命令行参数传递给变量a,第二个命令行参数传递给变量b
a=$1
b=$2
#判断a或者b变量是否为空, 只要有一个为空就打印提示语句并退出
if [ -z $a ] || [ -z $b ]
then
echo "please enter 2 no"
exit 1
#判断a和b的大小,并根据判断结果打印语句
fi
if [ $a -eq $b ]
then
echo "number a = number b"
else if [ $a -gt $b ]
then
echo "number a>number b"
elif [ $a -lt $b ]
then
echo "number a<number b"
fi
fi
#!/bin/bash 第三个例子:讲一个数字逆序 #!/bin/bash 第四个例子:移动一文件,如果目标位置存在该文件,则监视该文件,直到文件被删除后才移动该文件 #!/bin/bash
第二个:统计文件夹中文件的数目
#变量counter用于统计文件的数目
counter=0
#变量files遍历一遍当前文件夹
for files in *
do
#判断的files是否是文件,如果是就将counter变量的值加一再赋
#给自己
if [ -f "$files" ]
then
counter=`expr $counter + 1`#此处不是单引号,而是 `
fi
done
#输出结果
echo "There are $counter files in `pwd`"
#提示用户输入
echo -n "Pleasw enter number : "
read n #读入输入的值放到变量n中
sd=0
rev=""
on=$n #将变量n的值保存到变量on中,方便以后用到
echo "You put number is $n"
while [ $n -gt 0 ]
do
sd=$(( $n % 10 )) #求余
n=$(( $n / 10 )) #去掉当前的最后一位数后剩下的数
rev="$rev$sd" #将当前的最后一位数放到字符串之后
done
echo "$on in a reverse order $rev"
#判断命令行是否代带有两个文件名的参数
if [ "$1" = "" ] || [ "$2" = "" ]
then
echo "Please enter file name"
exit 1
fi
#判断目标文件是否存在
if [ -e $2 ]
then
echo "The file already exists"
until [ ! -f $2 ] #监视该文件是否被删除
do
sleep 1
done
echo "The file have been deleted"
fi
#执行源文件移动为目标文件的命令
if [ ! `mv $1 $2` ]
then
echo "mv sucessful"
else
echo "mv error"
fi