중복된 질문이라면 미리 사과드립니다. 여기에 질문하기 전에 검색/확인하려고 노력했습니다.
나는 다음과 같은 퀴프를 쓰고 싶습니다.
foocommand && foocommand2 && foocommand3
아이디어는 이전 명령이 "성공"한 경우에만 후속 명령이 실행되기를 원한다는 것입니다.
저는 다소 긴 스크립트를 작성하고 있는데 이 한 줄의 코드는 다른 사람들에게는 혼란스러운 코드 묶음처럼 보일 것이기 때문에 실행 가능하지 않습니다.
스크립트에서 명령 간격을 두고 명령 사이에 주석을 쓰고 싶습니다. 어떻게 하면 &&와 동등한 기능을 가질 수 있나요?
답변1
shebang 라인을 다음으로 변경할 수 있습니다.
#!/bin/bash -e
오류가 발생하면 스크립트가 중지됩니다.
답변2
다음을 수행할 수 있습니다.
#!/bin/sh
ls -lh &&
# This is a comment
echo 'Wicked, it works!'
귀하의 질문을 올바르게 이해했기를 바랍니다.
답변3
아이디어 가 마음에 들지 않으면 set -e
논리를 뒤집을 수도 있습니다.
foocommand || exit 1
foocommand2 || exit 2
foocommand3 || exit 3
더 유용하게는 exit
내용을 유용한 오류 메시지로 바꾸고 종료하는 것입니다. 물론 return
.exit
답변4
중첩된 문을 사용하는 것을 고려해 볼 수 있습니다 if
. 다른 옵션은 그룹화에 곱슬을 사용하는 것입니다.{ true && echo hi; } || echo huh
업데이트 1:
줄 바꿈/주석이 없는 예는 다음과 같습니다.
{ { false && echo "inner true"; } && { echo "inner true" && true; } || { echo "inner false" && false; } || echo "outter false"; }