Linux Bash expect 登录远程主机执行命令

第一篇博客,记录下前几天写的个远程执行命令的脚本,备忘

#! /bin/bash

echo "Hello world"

:<<!
	远程执行命令
!

declare -r IPADDR="192.168.197.206"
declare -r USERNAME="root"
declare -r PASSWD="123456"
declare -r COMMAND="ls -rlt"
function remoteExecCommand(){

  local l_username="${1}"
  local l_ipaddr="${2}"
  local l_passwd="${3}"
  local l_cmd="${4}"	
  expect << EOF
 	set timeout 10;
    spawn ssh ${l_username}@${l_ipaddr};
    expect {
      "\[#$\]"     {send "\r" }
      "password:" {send  "${l_passwd}\r"}
      "(yes/no)?" {send "yes\r";exp_continue}
    }
    expect {
      "\[#$\]"     {send "\r" }
      "Permission" {exit 3 }
    }
    expect "\[#$\]";send "${l_cmd}\r";
    expect "\[#$\]";send "exit\r";
    expect eof;
EOF
}
remoteExecCommand "${USERNAME}" "${IPADDR}" "${PASSWD}" "${COMMAND}"


转载于:https://my.oschina.net/u/816457/blog/666169

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值