以前对于shell一直都是处于能看得懂,但是不会写的状态,对于shell的一些参数,变量都不怎么了解,通过对老男孩的视频的学习之后,可以自己写出shell脚本,学会了编写shell的思想,在此感谢老男孩的视频!!!发现有问题的可以加QQ:1419544854,非常感激!(用基本的方法写的shell)
1. 对于用shell进行判断所输入的数是否为整数以及输入的个数?这个问题老男孩的视频里有4种方案,我自己觉得习惯于以下两种方法:
方法一:使用expr进行判断输入的是否为整数:
#!/bin/bash
a=$1
b=$2
Usage(){
echo "Usage: sh $0 num1 num2"
exit
}
if [$# -ne 2 ];then
Usage
exit
fi
expr $a + 0 > /dev/null2>&1
[ $? -ne 0 ] && Usage
expr$b + 0 > /dev/null 2>&1
[ $? -ne 0 ] && Usage
if [ $a \> $b ];then
echo "$a>$b"
elif [ $a \< $b ];then
echo "$a<$b"
else
echo "$a=$b"
fi
方法二:sed+正则来判断
#!/bin/bash
a=$1
b=$2
if [$# -ne 2 ];then
echo "usage:sh $0 num1 num2"
exit
fi
[ -n "`echo $1|sed 's/[0-9]//g'`" ]&& echo "first is zhengshu" && exit 1
[ -n "`echo $2|sed 's/[0-9]//g'`" ]&& echo "second is zhengshu" && exit 1
if [$a \> $b ];then
echo "$a>$b"
elif[ $a \< $b ];then
echo "$a<$b"
else
echo "$a=$b"
fi