我知道这个问题有很多这里提到的解决方案,但我是这个问题的中间部分。 我创建了一个ruby脚本 snaps.rb 。
此脚本用于删除lvm快照。以下代码导致问题
`/usr/bin/expect <<delim
exp_internal 0
set timeout 20
spawn echo itsme | sudo -S lvremove #{snap_name}
expect {Do you really want to remove active logical volume #{name}? [y/n]:}
send "y\r"
expect eof
delim`
snap_name 是我的快照名称,我使用expect将y或n传递给命令输入。我正在使用反引号(``)来执行ruby中的shell命令。 但我得到了以下错误。
send: spawn id exp6 not open
while executing
""end "n
如何解决此错误。
答案 0 :(得分:1)
分开echo itsme | sudo -S lvremove #{snap_name}
试试这个
`/usr/bin/expect <<delim
exp_internal 0
set timeout 20
spawn sudo lvremove #{snap_name}
send "itsme\r"
expect {Do you really want to remove active logical volume #{name}? [y/n]:}
send "y\r"
expect eof
delim`