1、建立列表使用者並設定初始密碼123456
#!/bin/bash
ulist=$(cat /root/users.txt)
for uname in $ulist
doif [ $uname==`grep $uname /etc/passwd | awk -f: ''` ]
then echo "姓名重複"
fiuseradd $uname
echo 123456 | passwd --stdin $uname &> /dev/null
done
2、刪除列表使用者,並備份使用者的檔案
#!/bin/bash
ulist=$(cat /root/users.txt)
for uname in $ulist
doa=`ls -lh /home/$uname | awk -f: ''`
if [ "$a" != "0" ]
then cp -r /home/$uname /root/baseup.txt
fiuserdel -r $uname &> /dev/null
done
3、測試ip的連通性
#!/bin/bash
hlist=$(cat /root/ip.txt)
for ip in $hlist
doping -c 3 -i 0.2 -w 3 $ip &> /dev/null
if [ $? -eq 0 ]
then echo "host $ip is up"
else echo "host $ip is down"
fidone
4、根據給定的列表使用者,給使用者的加班工資加100元
#!/bin/bash
list=$(cat /root/users.txt)
base_money=3000
for uname in $list
domoney=$(expr $base_money + 100)
echo "$uname的工資為:$money"
done
5、根據給定的列表使用者,給使用者的加班工資加100元(位置變數)
#!/bin/bash
base_money=3000
for uname in $1
domoney=$(expr $base_money + 100 \* $2)
echo "$uname的工資為:$money"
done
6、新增20個使用者,名字依次為stu1,stu2……stu20
#!/bin/bash
i=1while [ $i -le 20 ]
douname="stu$i"
if [ `grep $uname /etc/passwd | awk -f: ''` ]
then echo "名字重複"
fiuseradd $uname
echo 123456 | passwd --stdin $uname $> /dev/null
let i++
done
7、批量刪除
#!/bin/bash
i=1while [ $i -le 20 ]
douname="stu$i"
a=`ls -lh /home/$uname | awk -f: ''`
if [ "$a" = "0" ]
then cp -r /home/$uname /root/baskup.txt
fiuserdel -r $uname
let i++
done
8、猜**
#!/bin/bash
price=$(expr $random % 1000)
times=0
echo "商品實際**是0~999,猜猜**是多少?"
while true
doread -p "請輸入你猜測的**:" int
if [ $int -eq $price ]
then echo "恭喜你猜對了,實際**是$price,總共猜了$times 次"
elif [ $int -lt $price ]
then echo "太低了"
else
echo "太高了"
filet times++
done
9、計算1~50的和
#!/bin/bash
i=0;s=0
until [ $i -eq 50 ]
dolet "i=$i+1";let "s=$i+$s"
done
echo "1~50的和是$s"
shell中的條件語句與迴圈語句
首先,說到條件語句,就不得不先說下條件表示式的判斷,那麼shell中的條件表示式都有哪幾種呢,這裡可以分為三種 等於則為真。不相等則為真。z字串 字串長度偽則為真。n字串 字串長度不偽則為真。eq 等於則為真。ne 不等於則為真。gt 大於則為真。ge 大於等於則為真。lt 小於則為真。le 小於等...
shell迴圈語句與函式
讀取不同的變數值,用來逐個執行同乙個組命令 for 變數名 in 取值列表 do 命令序列 done使用for迴圈語句時,需要指定乙個變數以及可能取值的列表,針對每個不同的取值重複執行相同的命令序列,直到變數值用完退出迴圈。在這裡,取值列表 稱為for語句的執行條件,其中包括多個屬性相同的物件需要預...
Shell中的迴圈語句例項
1.for迴圈語句 例項1.1 最基本的for迴圈 bin bash for x in one two three four doecho number x done 注 for 迴圈總是接收 in 語句之後的某種型別的字列表。在本例中,指定了四個英語單詞,但是字列表也可以引用磁碟上的檔案,甚至檔案...