쉘에서 열린 프로그램에 명령을 어떻게 전달할 수 있습니까?

쉘에서 열린 프로그램에 명령을 어떻게 전달할 수 있습니까?

저는 Linux 우분투에서 Jboss-cli를 사용하여 프로그램 배포를 자동화하는 쉘 스크립트를 작성하고 있습니다. 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

관련 정보