![Внедрение нажатия клавиши в инструмент, запущенный скриптом bash](https://rvso.com/image/1395401/%D0%92%D0%BD%D0%B5%D0%B4%D1%80%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%D0%B6%D0%B0%D1%82%D0%B8%D1%8F%20%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D1%88%D0%B8%20%D0%B2%20%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%2C%20%D0%B7%D0%B0%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%BC%20bash.png)
Я пишу bash-скрипт для сбора некоторой информации о дисках, а затем запускаю инструмент «nmon» для мониторинга только этих конкретных дисков.
Я запускаю инструмент nmon из скрипта bash (с помощью -g
). Чтобы получить правильный вид внутри инструмента, нужно нажать клавишу gна клавиатуре.
Есть ли способ сделать так, чтобы нажатие этой клавиши автоматически срабатывало из скрипта bash?
Большое спасибо!
решение1
Попробуй это:
echo -n "g" | nmon
Для получения дополнительной информации:https://stackoverflow.com/questions/6264596/simulating-enter-keypress-in-bash-script
Или используйтеожидать( man expect
прилагаются примеры).
решение2
нмонподдерживает NMON
переменную оболочки, куда вы можете заранее поместить эти нажатия клавиш; я обычно использую ее export NMON=cmt
в своем профиле оболочки, но вы можете использовать:
NMON=g nmon -g /path/to/diskgroup/file
или
export NMON=g
nmon -g /path/to/diskgroup/file
.. в вашем bash-скрипте, который вызывает nmon
.