腳本一ios
要求:ping同一網段下1到10號機,若ping通,輸出up,不然輸出downbash
#!/bin/bash
for((i=0;i<=10;i++))
do
ping -c1 -w1 172.25.254.$i &> /dev/null && echo "$i is up" || echo "$i is down"
donessh
腳本二ide
要求:一分十秒的倒計時spa
#!/bin/bash
MIN=1
for ((SEC=10;SEC>=0;SEC--))
do
echo -ne "After ${MIN}:${SEC}s is end"
sleep 1
echo -ne "\r \r"
while [ "$SEC" -eq "0" -a "$MIN" -gt "0" ]
do
echo -ne "After ${MIN}:${SEC}s is end"
echo -ne "\r \r"
((MIN--))
SEC=60
done
doneget
腳本三input
要求:經過從指定文件獲得用戶密碼並建立用戶,若用戶存在,提示報錯,若用戶數和密碼數不一樣,提示報錯it
#!/bin/bash
if
[ -n "$1" -a -n "$2" ]
then
if
[ -e "$1" -a -e "$2" ]
then
MAXUSER=`wc -l $1 | cut -d " " -f 1`
MAXPASS=`wc -l $2 | cut -d " " -f 1`
[ "$MAXUSER" -eq "$MAXPASS" ]&&(
for NUM in $( seq 1 $MAXUSER )
do
USERNAME=`sed -n ${NUM}p $1`
PASSWORD=`sed -n ${NUM}p $2`
CKUSER=`getent passwd $USERNAME`
[ -z "$CKUSER" ]&&(
useradd $USERNAME
echo $PASSWORD |passwd --stdin $USERNAME
)||echo "$USERNAME exist !!"
done
)||(
echo $1 and $2 have different lines
)
elif
[ ! -e "$1" ]
then
echo "ERROR:$1 is not exist"
else
echo "ERROR:$2 is not exist"
fi
else
echo "ERROR: Please input userfile and password file after command!!"
fi
io
腳本四class
要求:本地建立用戶文件和密碼文件,經過ping同一網段的多臺機器,若ping通,ssh鏈接機器,並在鏈接的機器上建立從用戶文件和密碼文件中讀取的相關用戶
#!/bin/bash
if
[ -n "$1" -a -n "$2" ]
then
if
[ -e "$1" -a -e "$2" ]
then
MAXUSER=`wc -l $1 | cut -d " " -f 1`
MAXPASS=`wc -l $2 | cut -d " " -f 1`
[ "$MAXUSER" -eq "MAXPASS" ]&&(
for NUM in $( seq 1 $MAXUSER )
do
USERNAME=`sed -n ${NUM}p $1`
PASSWORD=`sed -n ${NUM}p $2`
for (( i=2;i<=4;i++ ))
do
ping -c1 -w1 172.25.254.$i &> /dev/null
if [[ $? -eq 0 ]]
then
/home/kiosk/Desktop/ssh.exp 172.25.254.$i redhat
CKUSER=`getent passwd $USERNAME`
[ -z "$CKUSER" ]&&(
useradd $USERNAME
echo $PASSWORD | passwd --stdin $USERNAME
)||echo "$USERNAME exist!"
exit
else
echo "ERROR: Please input userfile and password file after command"
fi
done
)||(
echo $1 and $2 have different lines
)
else
echo 172.25.254.$i is down
fi
done
ssh.exp:
#!/usr/bin/expectset IP [lindex $argv 0]set PASS [lindex $argv 1]set COMM [lindex $argv 2]spawn ssh root@$IP $COMMexpect { "yes/no" {send "yes\r";exp_continue} "password:" {send "$PASS\r"} }interact