
Я пишу скрипт оболочки для автоматического развертывания программы с 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