쉘에서 열린 프로그램에 명령을 전달하는 방법은 무엇입니까?

쉘에서 열린 프로그램에 명령을 전달하는 방법은 무엇입니까?

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

하지만 일반적으로 here-doc이 더 쉽습니다.

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

관련 정보