- 论坛徽章:
- 0
|
30可用积分
我用expect写了一个磁盘格式化的脚本
脚本如下
/////////////////////////////////
#!/usr/bin/expect
#Usage: format disk.
set timeout 1800
if { $argc != 2 } {
send "usage: expect script argument num != 2\n"
exit
}
set mkfs_cmd [lindex $argv 0]
set dev_name [lindex $argv 1]
spawn $mkfs_cmd $dev_name
expect {
"(y,n)" {
send "y\n"
#exp_continue
}
}
#interact
/////////////////////////////////
该脚本会被其他bash脚本调用,前台运行没有问题 但是后台运行就出错
expect spawn 执行的命令格式例子 mkfs.ext4 /dev/sdd
我目前正在做一个云存管理系统, 需要监控主机状态和执行磁盘格式化操作,c程序调用bash脚本,bash中又会调用expect 脚本,c程序必然会作为后台执行
问题是调试时前台执行没问题, 转到后台就无法执行了;
求解 |
|