為什麼要進行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 '[email protected],@ @g'`
shift 2
;;
-del|--delete)
DELETE=1
DELETEUSERS=`echo $2 | sed '[email protected],@ @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
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CZyITOlhTYjlzMkVzYkhTM3IWO4EzMhFTMlhDN2MWYi9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)