怎么获取expect指令返回值
时间: 2023-07-21 14:07:19 浏览: 129
在使用expect指令时,可以通过在expect脚本中使用变量来获取返回值。具体方法如下:
1. 在expect脚本中定义一个变量,例如:
```
set result ""
```
2. 在expect脚本中执行指令,并将结果保存到变量中,例如:
```
set result [exec command]
```
3. 在后续操作中可以使用该变量来获取指令的返回值,例如:
```
puts "The command returned: $result"
```
需要注意的是,有些指令的返回值可能比较复杂,需要针对不同的情况进行处理。例如,如果指令返回的是一个列表,可以使用list命令来将其转换为列表类型的变量。
相关问题
shell脚本expect指令返回值获取
在expect脚本中,可以使用`$?`来获取上一条指令的返回值。比如:
```
#!/usr/bin/expect
spawn ssh user@192.168.1.100
expect "password:"
send "mypassword\r"
expect "$ "
send "ls -l /tmp\r"
expect "$ "
set result $?
puts "The return value is $result"
```
在上面的脚本中,`$?`获取了`ls -l /tmp`命令的返回值,并将其赋给变量`result`。然后使用`puts`命令将返回值输出到屏幕上。注意,`$?`的值是一个整数,通常情况下,0表示成功,非零值表示失败。
阅读全文