#!/usr/bin/expect --
if { [llength $argv] != 2} {
puts "usage: $argv0 ip \"command \[params\]\""
exit 1
}
set maxRetry 1
for {set retryNum 0} {$retryNum<$maxRetry} {incr retryNum} {
spawn /usr/bin/ssh [lindex $argv 0] [lindex $argv 1]
set timeout 60
expect {
"yes/no)?" {
send "yes\r"
expect eof
break
}
timeout {continue}
eof {continue}
}
}
///
#!/usr/bin/expect --
set USER [exec whoami]
puts "pcp.sh..."
if { [llength $argv] < 2} {
puts "usage: $argv0 ip filename"
exit 1
}
set success 0
set maxRetry 5
for {set retryNum 0} {$retryNum<$maxRetry} {incr retryNum} {
spawn /usr/bin/scp -r [lindex $argv 1] [lindex $argv 0]:/home/${USER}
set timeout 600
expect {
"password:" {
puts "input passwd"
send "[lindex $argv 3]\r"
set timeout 600
puts "try $retryNum"
expect {
timeout {continue}
eof {
set success 1
break
}
}
}
"yes/no)?" {
puts "input yes"
send "yes\r"
expect "password:" {
send "[lindex $argv 3]\r"
set timeout 600
expect {
timeout {continue}
eof {
set success 1
break
}
}
}
}
timeout {continue}
eof {
set success 1
break
}
}
}
puts "pcp sucess..."
if { $success==0 } {
exit 1
}
function SetValue { if [[ $# != 3 ]] then echo 'input: $1: filename, $2: keyname, $3:keyvalue' exit 1 fi filename=$1 keyname=$2 keyvalue=$3 # ¿ÉÒÔΪ¿Õ # È·±£Ä¿±ê´æÔÚ targetLine=`grep "^${keyname}=" ${filename}` if [ "$targetLine" ] then # ÕâÀïÓÃ%×÷Ϊsed·Ö¸ô·û,ÒòΪkeyvalue¿ÉÄܺ¬ÓÐ/ sed --in-place "s%^${keyname}=.*%${keyname}=${keyvalue}%" ${filename} else echo "${keyname}=${keyvalue}" >>${filename} fi }