shell腳本之批量添加用戶

    沒錯,這是一個簡單的腳本,不寫不知道,寫了才發現自己多垃圾。

    我是一名普通的公司網絡管理,接觸linux不長,一直理想都是和馬哥學習linux,可惜因為拖家帶口的原因,沒辦法交學費和馬哥學習,心里小小遺憾吧。每天看著馬哥的文章以及百度搜索的視頻文章學習,感覺自己學習的很雜很亂和累??粗彝瑢W現在都快從馬哥完業了,說著我聽不懂的語句,特霸氣。如果有機會,真希望和他一樣,聽馬哥linux視頻系統學習。

    微微一嘆,唉。

    下面的腳本主要用于批量添加用戶的腳本,本來很簡單的腳本,但是添加了一些判斷,驗證自己學習。

    1.判斷用戶輸入是否有誤

    2.判斷用戶是否存在,存在就跳過不再處理

代碼如下:

#/bin/bash
#批量添加用戶腳本

#判斷用戶是否存在函數
function panduan()
	{
		for nametmp in $(cat /tmp/user.txt)
			do
				if [ $nametmp = $1 ]
					then
						return 6
						break
				fi
			done
	}
cat /etc/passwd|awk -F : '{print $1}'&>>/tmp/user.txt
#讀取用戶輸入信息
read -p "請輸入前綴:" name
read -p "請輸入個數:" num
read -p "請輸入初始密碼:" password

#判斷輸入是否為空
if [ -z "$name" -o -z "$num" -o -z "$password" ]
	then
		echo "輸入不能為空"
	else
#判斷用戶個數是否格式為數字,不為數字就退出	
	echo $num|grep ^[0-9]*$&>/dev/null
	if [ $? -eq 0 ]
		then
			for i in `seq 1 $num`
				do

#判斷用戶是否存在
					panduan $name$i&>/dev/null
					if [ $? -ne 6 ]
						then
						useradd $name$i>>/dev/null
						echo "$password"|passwd --stdin $name$i>>/dev/null
						echo "用戶名:$name$i   密碼:$password  創建成功"
					else 
						echo "用戶$name$i存在,不做處理"
						
					fi
			done
		else
			echo "用戶個數輸入有誤,請輸入數字"
	fi
				
fi

請求大家指教一下,有沒有更簡單的方法。

原創文章,作者:lyy910203,如若轉載,請注明出處:http://www.www58058.com/22756

(0)
lyy910203lyy910203
上一篇 2016-07-07 10:52
下一篇 2016-07-07 10:53

相關推薦

  • N25第7周作業

    1、創建一個10G分區,并格式為ext4文件系統;   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;    (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; ]# fdisk /dev/sdb #劃出一個…

    Linux干貨 2017-02-21
  • Linux發展史

    Linux 操作系統是UNIX操作系統的一種克隆系統。它誕生于1991年的10月5日(這是第一次正式向外公布的時間)。以后借助于Internet網絡,并經過全世界各地計算機愛好者的共同努力下,現已成為今天世界上使用最多的一種UNIX類操作系統,并且使用人數還在迅猛增長。下文簡要介紹了Linux發展史。 1969年,美國貝爾實驗室的Ken.Thompson和D…

    Linux干貨 2016-10-17
  • N22期-第五周博客作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost jimmy]# egrep '^(root|fedora|user1)\>' /etc/passwd | cut -d: -f7 /bin/bas…

    Linux干貨 2016-09-10
  • N24 第6周作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; 3、刪除/tmp/rc.sysinit文件…

    Linux干貨 2016-11-30
  • iptables防火墻

    Linux防火墻基礎 在Internet中,企業通過架設各種應用系統來為用戶提供各種網絡服務,例如Web網站,電子郵件系統,FTP服務器,數據庫系統等等,而防火墻就是用來保護這些服務器,過濾企業不需要的訪問甚至是惡意的入侵。 Linux防火墻體系主要工作在網絡層,針對TCP/IP數據包實施過濾和限制,屬于典型的包過濾防火墻。Linux防火墻體系基于內核編碼實…

    Linux干貨 2017-01-10
  • ?SELinux

    ?SELinux 概述 SELinux(Secure Enhanced Linux)是美國國家安全局(NSA)和SCC開發的Linux的一個強制訪問控制的安全模塊。2000年以GNU GPL發布,Linux內核2.6版本后集成在內核中。它能夠限制權限,進程只能訪問那些在他的任務中所需要文件。 Selinux是根據最小權限模型去限制進程在對象(如文件,目錄,端…

    Linux干貨 2016-09-18
欧美性久久久久