您的位置:首页 > 运维架构 > Linux

linux脚本检查外部服务器端口状态

2009-03-10 18:44 267 查看
写一个脚本,使得无论脚本后跟多少参数,都能计算出参数的和:
#!/bin/bash
sum=0
for i in `seq 1 $#`;do
let sum+=$1
shift
done
echo $sum

写一个脚本:使用形式如下
userinfo.sh -u username [-v{1|2}]
-u选项用于指定用户,而后脚本显示用户的UID和GID;
如果同时使用了-v选项:
-v后面的值如果是1,则额外显示用户的家目录路径
-v后面的值如果是2,则额外显示用户的家目录路径和shell

#!/bin/bash
#
[ $# -lt 2 ] && echo "Too less arguments, quit." && exit 3
#上面一句是当参数不足2个的时候,强制退出
if [[ "$1" == "-u" ]];then
userName="$2"
shift 2
fi
#上段功能是确认参数-u后,将之后的参数写入变量userName,再将前两个参数轮替出去
if [ $# -ge 2 ] && [ "$1" == "-v" ];then
verFlag=$2
fi
#上段功能是当轮替后参数等于2,并且第一个参数等于-v时,将第二个参数写入verFlag变量
verFlag=${verFlag:-0}
#默认变量verFlag为0
if [ -n $verFlag ];then #如果变量verFlag不为空
if ! [[ $verFlag =~ [012] ]];then #如果变量verFlag不属于012中任何一个
echo "Wrong parameter."
echo "Usage:`basename $0` -u Username -v {1|2}"
exit 4
fi
fi

# echo $userName $verFlag 这句是用来测试的

if [ $verFlag -eq 1 ];then
grep "^$userName" /etc/passwd | cut -d: -f1,3,4,6
elif [ $verFlag -eq 2 ];then
grep "^$userName" /etc/passwd | cut -d: -f1,3,4,6,7
else
grep "^$userName" /etc/passwd | cut -d: -f1,3,4
fi

最后这题是属于有些难度的了,感觉属于马哥即兴发挥,毕竟没有画出流程图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: