问题:在终端启动Adaptec Utility并闪烁第二个硬盘指示灯。睡觉并提交按键以结束眨眼。
> arcconf identify 1 device 0 1
Controllers found: 1
The specified device is blinking.
Press any key to stop the blinking.
命令:arcconf识别1个设备0 1
以下是我尝试的一些命令。
1。)echo -ne '\n' | arcconf identify 1 device 0 1
结果:启动程序并立即提交输入'。在驱动器闪烁之前停止该实用程序;我不确定如何在这里添加睡眠。
2。)kill -9 8309
结果:终止arcconf进程,但即使进程终止,驱动器也会永远闪烁。
3。)echo -ne '\n' > /proc/8309/fd/0
结果:发送'输入'但是,在此过程中,这只会向运行arcconf的终端打印新行,并且实际上并未提交击键。与echo" abcd"相同的结果。
如何在bash,sleep中启动此实用程序,并发送按键以停止该实用程序?
答案 0 :(得分:1)
假设您想要睡5秒钟,请尝试使用bash进程替换
arcconf identify 1 device 0 1 < <(sleep 5; echo)
另一个更精确的选择是使用expect
expect <<'END'
spawn arcconf identify 1 device 0 1
expect "Press any key to stop the blinking"
send "\r"
expect eof
END
答案 1 :(得分:1)
使用shell语句分组:
{ printf '\n'; sleep 5; } | arcconf identify 1 device 0 1
程序stdin的管道将保持打开状态,直到睡眠结束。