다음 명령이 포함된 쉘 스크립트가 있습니다.
#!/bin/sh
sh ../jboss/bin/standalone.sh --server-config=standalone-full.xml -Djboss.node.name=node1 -b 0.0.0.0 -bmanagement 0.0.0.0
더 나은 이해와 관리를 위해 한 줄을 여러 줄로 분할하는 방법
#!/bin/sh
sh ../jboss/bin/standalone.sh
--server-config=standalone-full.xml
-Djboss.node.name=node1
-b 0.0.0.0
-bmanagement 0.0.0.0
각 줄 끝에 백슬래시를 추가해 보았지만 작동하지 않습니다.
답변1
이를 연속이라고 하며 \
각 줄의 마지막 문자를 제외한 마지막 문자로 사용됩니다.
#!/bin/sh
sh ../jboss/bin/standalone.sh \
--server-config=standalone-full.xml \
-Djboss.node.name=node1 \
-b 0.0.0.0 \
-bmanagement 0.0.0.0
(미적 목적을 위해 정렬되었지만 반드시 그런 것은 아닙니다).
이에 대한 자세한 내용은 다음을 참조하세요.쉘 구문: 줄 바꿈에 \를 올바르게 사용하는 방법은 무엇입니까?그리고 관련된 문제.
답변2
Paul_Pedant의 의견 아이디어에 따라 Bash/ksh/zsh에서 배열을 사용할 수 있습니다.
#!/bin/bash
args=(
--server-config=standalone-full.xml
-Djboss.node.name=node1
-b 0.0.0.0
-bmanagement 0.0.0.0
)
sh ../jboss/bin/standalone.sh "${args[@]}"
여기서 괄호는 배열 할당이 끝날 때 쉘이 알아야 하는 구문 단서를 제공합니다. 불행히도 이는 단일 명령뿐만 아니라 배열 할당에만 작동합니다.
../standalone.sh
또한 jboss 스크립트에 실행 권한이 올바르게 설정되어 있고 스크립트에 hashbang이 있으면 명시적으로 미리 설정 하지 않고도 그렇게 실행할 수 있어야 합니다 .sh