
9: Device Ports
SLC™ 8000 Advanced Console Manager User Guide
211
# spawn the CLI session
if {[catch {spawn -noecho clisession -U sysadmin} result]} {
abortSession 1
}
set sessionId $spawn_id
# Handle eof
expect_after {
-i $sessionId eof {
myprint "Session unexpectedly terminated."
abortSession 2
}
}
set timeout 10
log_user 0
# Wait for the first prompt
set loggedIn false
while {! $loggedIn} {
expect {
timeout {myprint "Timeout waiting to login"; abortSession 3}
"Need to specify username" {myprint "Need to specify -U ";
abortSession 4}
"*> " {set loggedIn true}
} ;
}
exp_send "\n"
expect {
timeout {myprint "Timeout waiting for CLI prompt"; abortSession 3}
-re "\n\r(\\\[\[^\r]*]>)"
}
set slcPrompt $expect_out(1,string)
# Run the temperature command
exp_send "show temperature\n"
expect {
timeout {myprint "Timeout waiting for temperature"; abortSession 3}
-re "Current Internal Temperature: (.*)\r\n"
}
set slcTemp $expect_out(1,string)
myprint "Temperature: $slcTemp"
exp_send "logout\n"
sleep .5
close
exit 0
This script can be run manually at the CLI:
[slc431d] set script runcli cliExample parameters "East Data Center"
Internal temperature of the East Data Center SLC at 01/27/2019 02:07
Temperature: 48C (118F)