expect自动登录操作

#!/usr/bin/expect
set ip [lindex $argv 0]
set username [lindex $argv 1]
set passwd [lindex $argv 2]
set cmd [lindex $argv 3]

spawn ssh ${username}@${ip}
expect {
    "(yes/no)" {send "yes\r"}
    "password:" {send "${passwd}\r"}
}
expect ${username}@* {send "${cmd}\r"};
expect ${username}@* {send "exit\r"};
expect eof;

shell批量登录

#!/bin/sh
filename=$1
cmd=$2
pwd1=$(pwd)
cd ${pwd1}
serverlistfile=${pwd1}/${filename}
while read line
do 
    /usr/bin/expect ${pwd1}/pliang.expect $line "${cmd}"
done < $serverlistfile

循环

1.
for var in 1 2
do

done
2.
int=1
while conditon
do
    let "int++"
done
3.
until conditon
do
done

数组
array={a b c d}
${array[0]}

case语句:
casein 
    模式1)
    comand1
    ;;
    模式2)
    comand2
    ;;
esac

case $aNum in
    1)  echo '你选择了 1'
    ;;
    2)  echo '你选择了 2'
    ;;
    3)  echo '你选择了 3'
    ;;
    4)  echo '你选择了 4'
    ;;
    *)  echo '你没有输入 1 到 4 之间的数字'
    ;;
esac

if
    then

    else
fi

echo语句

echo -e "OK \n" //开启转义
echo 'date' //显示执行结果
echo "ok " >> /etc/file.txt //输出字符串到文件

printf语句

printf "%-10s %-8s\n" 姓名 性别 //-左对齐 格式输入

姓名     性别