Есть ли способ передавать команды напрямую в CLI инструмента?
Я хотел бы записать некоторые действия, например:
./OpenBTS < "tmsis"
Мне не нужно извлекать результаты (я смотрю их в файле журнала). Есть ли у вас какие-либо идеи, как я мог бы это понять? Теперь есть способ сделать это с помощью параметров командной строки, по крайней мере, насколько я знаю. Так что, похоже, мне придется разбираться с чем-то самому. Есть идеи? Может быть, я мог бы автоматизировать screen таким образом, чтобы он обнаруживал приглашение и «вставлял» туда мою команду. Есть ли инструменты для этого в Linux?
решение1
Похоже, вы ищетеожидать
решение2
Вы можете попробовать сделать это с heredoc, например:
./OpenBTS <<EOF
tmsis
EOF
как в следующей расшифровке, которая вносит вклад в sed
:
pax$ sed 's/^/Q/' <<EOF
> hello
> goodbye
> EOF
Qhello
Qgoodbye
В качестве альтернативы вы можете просто вводить данные непосредственно в него, например
echo "tmsis" | ./OpenBTS
как в следующем примере:
pax$ echo 'hello
goodbye' | sed 's/^/Q/'
Qhello
Qgoodbye
решение3
Конкретного способа сделать это не существует, но если инструмент прослушивает stdin, то для этого можно использовать heredoc.
./sometool << EOF
action1
action2
quit
EOF