linux 之shell腳本練習

一、

#!/bin/bash
#自動添加用戶,並使初始密碼爲用戶賬戶名,且用戶登錄時強制其更改密碼
i=1
while [ $i -le 15 ]
do
 if [ $i -le 9 ]
 then
  useradd user0$i
  echo "user0$i" | passwd --stdin user0$i &> /dev/null
  chage -d 0 user0$i
 else
  useradd user$i
  echo "user$i" | passwd --stdin user$i &> /dev/null
  chage -d 0 user$i
 fi  
# userdel -r user$i

 let i++
done


#!/bin/bash
#檢測當前系統任一服務狀態,若未啓動則啓動之。
read -p 'Input a service name: ' ser
service $ser status &> /dev/null
if [ $? -eq 0 ];
  then
   echo "服務運行中."
# elif [ $? -eq 3 ];
#  then service $ser start
 else
  service $ser start

fi



#!/bin/bash
#輸出30至80之間的偶數及統計個數
g=0

for i in {30..80}
 do
  yu=`expr $i % 2`
  
  if [ $yu -eq 0 ]
  then echo -n "$i  " && let g++
  fi
done
echo
echo "There are $g 偶數 totally."



#!/bin/bash
#階乘運算
read -p 'Input a number: ' num
cj=1
for (( i=1;i<=$num;i++ ))
do
 let cj*=i
done
echo $cj


#!/bin/bash
#生成九九乘法表
for (( i=1;i<=9;i++ ))
 do
  for (( j=1;j<=i;j++ ))
  do
   abc=`expr $i \* $j`
   echo -n "$j*$i=$abc  "
   
  done
 
 echo 
done



#!/bin/bash
#備份MySQL日誌
dir=/var/lib/mysql
index=$dir/localhost-bin.index
i=`cat $index | wc -l`
i=$(( $i - 1 ))

if [ ! -e /logbackup ]
 then mkdir /logbackup
fi

for log in `head -$i $index | awk -F '/' '{print $2}'`
do cp -nv $dir/$log /logbackup
done


#!/bin/bash
#檢測192.168.1.0/24網段,並記錄不在線的IP地址信息
net=192.168.1.
#for i in 1 2 3 4 5 6 7 8 9 10
#for i in `seq 254`
for i in {a..z}
do
 ping -c 3 $net$i &> /dev/null
 if
  [ $? -eq 0 ]
 then
  echo "$net$i is online!!!"
 else
  echo "$net$i is offline!!!"
 fi
done

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章