Как передать команду программе, открытой в оболочке?

Как передать команду программе, открытой в оболочке?

Я пишу скрипт оболочки для автоматического развертывания программы с Jboss-cli в Linux Ubuntu. Мне нужно открыть интерфейс Jboss Cli и выполнить некоторые команды, но я хочу сделать это автоматически. как это выглядит

cd /opt/jboss/bin
./jboss-cli.sh --connect

строка выше открывает командную строку jboss. Я хотел бы иметь возможность отправить команду в открытую программу, например: undeploy FlcErp.ear

Я пробовал вывести его на экран и передать обычным текстом, но ничего не выполнится, пока программа Jboss не завершит работу.

Я тоже пробовал, ./jboss-cli.sh --connect undeploy "FlcErp.ear"но это читается "FlcErp.ear"как команда.

решение1

Если jboss-cli.shсчитывает данные со стандартного ввода, можно передать ему команду:

echo 'undeploy FlcErp.ear' | ./jboss-cli.sh --connect

Для выполнения нескольких команд вы можете использовать несколько echoкоманд.

{ echo 'undeploy FlcErp.ear'; echo 'other gommands'; echo 'go here'; } | ./jboss-cli.sh --connect

но здесь-документ обычно проще:

./jboss-cli.sh --connect <<EOF
undeploy FlcErp.ear
other commands
go here
EOF

Связанный контент