shell编程_Shell 编程小案例

为什么要进行shell编程?

在Linux系统中,虽然有各种各样的图形化接口工具,但是shell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。

创建一个脚本 admin.sh

完成如下作用:

  -h | --help : 提供帮助信息

  --add Users : 完成用户添加

  -del User | --delete : 完成用户删除

  -v : 开启调试模式,显示信息

可以同时使用以上所有命令:

#!/bin/bash
#
DEBUG=0
ADD=0
DELETE=0
for i in `seq 1 $#`
do
case $1 in
-h|--help)
        echo "--v --help --add --delete --userlist"
        ;;
-v|--versbo)
        DEBUG=1
        shift
        ;;
--add)
        ADD=1
        ADDUSERS=`echo $2 | sed 's@,@ @g'`
        shift 2
        ;;
-del|--delete)
        DELETE=1
        DELETEUSERS=`echo $2 | sed 's@,@ @g'`
        shift 2
        ;;
*)
#       echo 'Usage : `basename $0` --add USERLIST --delete USERLIST --v|--verbose --help'
#       exit 7
        ;;
esac
done

if [ $ADD -eq 1 ]
then
        for USER in $ADDUSERS
        do
                if id $USER &> /dev/null
                then
                        [ $DEBUG -eq 1 ] && echo "$USER is exists!"
                else
                        useradd $USER
                        [ $DEBUG -eq 1 ] && echo "$USER add succefully!"
                fi
        done
fi

if [ $DELETE -eq 1 ]
then
        for USER in $DELETEUSERS
        do
                if id $USER &> /dev/null
                then
                        userdel $USER
                        [ $DEBUG -eq 1 ] && echo "$USER delete successfully!"
                else
                        [ $DEBUG -eq 1 ] && echo "$USER not exist!"
                fi
        done
fi

随机生成10个用户,并随机生成10位密码,把生成后的用户名和密码保存到文件

ADDUSER(){
        USER=$1
        PASSWD=$2
        useradd $1 && echo $1:$2 | chpasswd
        echo User:$1 pass:$2 >> /home/eko/test/user.log
}

DELUSER(){
        USER=$1
        userdel $1
}

OPREATE=$1
if [ $OPREATE == 'add' ]
then
        for((i=0;i<10;i++))
        do
                ADDUSER "eko$i" `openssl rand -base64 10`
        done
elif [ $OPREATE == 'del' ]
then
        for((i=0;i<10;i++))
        do
                DELUSER "eko$i"
        done
else
        echo "参数错误"
fi

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要请戳这里链接 或者关注咱们下面的专栏

PHP大神进阶​zhuanlan.zhihu.com
bac648e11a3189b718dc5d39ca8e922d.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值