exit-status

쉘 스크립트 종료 코드가 구별 가능한지 확인하십시오.
exit-status

쉘 스크립트 종료 코드가 구별 가능한지 확인하십시오.

내부적으로 호출되는 두 개의 쉘 스크립트 a.sh및 가 있다고 가정해 보겠습니다 . 그런 다음 종료 코드 또는 종료 를 사용할 수 있다고 가정합니다 .b.sha.shb.shb.sh012 의 종료 코드가 a.sh의 종료 코드와 구별되도록 하기 위해 어떤 기술을 사용할 수 있습니까 b.sh? 예를 들어 a.sh종료 코드를 사용하여 종료할 수 있다고 결정한 경우 1호출자에게는 이것이 불분명합니다. 실패했습니까 a.sh, 아니면 b.sh실패했습니까? 이는 종료 코드를 사용해서는 안 된다는 것을 의미합니다 ....

Admin

이전 줄이 명령인지 확인하세요.
exit-status

이전 줄이 명령인지 확인하세요.

활성화하고 싶습니다Windows 터미널 셸 통합배쉬에서. (저를 판단하지 마십시오.) 좋은 기능은 터미널이 각 명령의 스크롤 막대에 마커를 표시할 수 있다는 것입니다. 그 색상은 명령 실행의 성공 여부에 따라 달라집니다. 그러나 명령이 실행되지 않으면(빈 줄, Ctrl-C...) 색상은 중간색으로 유지되어야 합니다. 이는 프롬프트에 특수 이스케이프 시퀀스를 배치하여 수행됩니다. 현재 프롬프트의 단순화된 버전은 다음과 같습니다. PS1="\[\e]133;D;\$?\a\] \$ \[\e]133;B\a\]...

Admin

오류가 발생하면 0으로 종료되는 tar 구현이 있습니까?
exit-status

오류가 발생하면 0으로 종료되는 tar 구현이 있습니까?

Vim 런타임 커밋 3d37231437fc0f761664a7cabc8f7b927b468767파일 이름에 경고, 오류, 부적절하거나 인식할 수 없는 단어가 포함되어 있지 않다는 가정을 제거하여 tar 편집 플러그인을 수정해보세요. 플러그인에는 메시지가 인쇄되지만 종료 코드가 0인 경우 오류를 감지하는 이 코드가 포함되어 있습니다. 커밋에서 볼 수 있듯이, 그러나 전체 if 조건이 약간 수상쩍은 것 같습니다. 오류가 발생하면 tar 프로그램의 반환 코드를 확인하기 때문에 이전 if 문에서 오류가 발견되...

Admin

고쳐 쓰다:
exit-status

고쳐 쓰다:

zsh스크립트에는 긴 명령 파이프라인이 있습니다. pv /dev/sda > sda.raw | sha256sum > sda.raw.sha256 | cut -c61-64 | read SHASUM if모든 명령이 성공적으로 종료되었는지 문 내부에서 어떻게 확인할 수 있나요 ? 알아요 ${pipestatus[@]}. 하지만 배열이에요. 그래서 각 요소를 개별적으로 확인해야 합니다. ${pipestatus[@]}포함된 내용만 확인하는 바로가기가 있습니까 0? 고쳐 쓰다: 몇 가지 이상한 동작을 발...

Admin

출력 리디렉션을 사용하여 csh에서 스크립트 호출
exit-status

출력 리디렉션을 사용하여 csh에서 스크립트 호출

내가 원하는 것: #!/bin/csh # call /myscriptpath/myscript.any and redirect 2>&1 and get retval and output set my_msg = `/myscriptpath/myscript.any` set my_ret = `echo $?` myscript.any에서 종료 코드를 캡처하는 방법은 무엇입니까? 가능하다면 myscript.any에서 메시지를 어떻게 캡처할 수 있습니까? /myscriptpath/myscript.any ...

Admin

'return 0'은 'true'와 동일합니까(셸 환경의 소스 스크립트에서)?
exit-status

'return 0'은 'true'와 동일합니까(셸 환경의 소스 스크립트에서)?

저는 사용자가 자신의 셸에 소스를 제공해야 하는 이식성이 뛰어난 스크립트를 개발 중입니다. 이로 인해 POSIX 스크립트를 사용해야 합니다. 스크립트에는 유용한 함수가 많이 있으며, 그 중 하나는 호출 함수의 상태를 반환한다는 점에서 특별합니다 true.false return 0자, 저는 이런 상황에서 그것을 사용했습니다. 그러나 더 읽기 쉽고 truefor false도 return 1각각 작동하는 것 같습니다 . 문제는 이것이 유효한지 여부입니다.아주 똑같은 방식으로아니면 차이가 있는 경우...

Admin

프로세스가 종료되었음을 알리는 대신 "trap"이 0을 전달하는 이유는 무엇입니까?
exit-status

프로세스가 종료되었음을 알리는 대신 "trap"이 0을 전달하는 이유는 무엇입니까?

다음을 고려하세요: #!/bin/bash trap 'echo $?' INT kill -INT $$ 산출:0 여기서 나는 130내 시스템을 기대합니다. 물론 내가 a를 했다면 Ctrl + C나는 130. HUP또는 같은 다른 신호에서도 마찬가지입니다 TERM. trap많은 신호를 포착하는 설정이 있는 경우 핸들러가 호출된 신호에 대한 올바른 오류 코드로 종료할 수 없기 때문에 이 동작이 놀랍습니다 . #!/bin/dash exit_abrupt() { exit_code=$? echo ...

Admin

프로세스의 종료 상태 취소
exit-status

프로세스의 종료 상태 취소

$?프로젝트에는 명령의 종료 상태를 읽을 수 있는 테스트 설정이 있습니다. foobar내 테스트에서는 문자열이 출력에 없는지 확인하고 싶습니다 . 명령을 실행할 때: ./program | grep foobar 실패를 나타내기 위해 돌아갑니다 1. 반품하려면 그게 필요해요 0. 반환 값을 취소하는 방법이 있나요? ...

Admin

두 번째 명령에서 파이프라인에 있는 첫 번째 명령의 종료 상태를 가져옵니다.
exit-status

두 번째 명령에서 파이프라인에 있는 첫 번째 명령의 종료 상태를 가져옵니다.

내 문제는 다음과 비슷합니다종료 상태를 다른 프로세스로 파이프로 가져오기, 하지만 파이프라인에서 두 번째 명령의 종료 상태를 가져오고 싶습니다.이내에관로. 여기에 예가 있습니다 - false | echo $? 0기대보다는 보상1 PIPESTATUS이전 오류 코드 제공 false | echo $PIPESTATUS 0처음으로 반환 한 다음 을 반환하여 1작업 자체 후에 결과를 제공합니다. 내 의도는 다음과 같은 함수를 만드는 것입니다. debug() { # Eventually will be for...

Admin

systemctl은 실행 파일을 찾을 수 없지만 루트는 찾을 수 있습니까?
exit-status

systemctl은 실행 파일을 찾을 수 없지만 루트는 찾을 수 있습니까?

이상한 점: 저는 springboot fat archive 웹서버를 시작하는 서비스를 만들었습니다. 제공하다: #!/bin/bash [Unit] Description=JalouWeb [Service] Type=simple WorkingDirectory=/opt/jaloucontrol ExecStart=/bin/bash jalouweb.sh TimeoutStartSec=0 RestartSec=60 Restart=always SyslogIdentifier=jalouweb [Install] Wante...

Admin

상태 141로 설정된 파이프라인 출력의 첫 번째 줄을 가져옵니다. 이는 set -eo Pipelinefail을 사용하여 bash 스크립트에 실패합니다.
exit-status

상태 141로 설정된 파이프라인 출력의 첫 번째 줄을 가져옵니다. 이는 set -eo Pipelinefail을 사용하여 bash 스크립트에 실패합니다.

명령을 실행하는 bash 스크립트가 있는데 그 스크립트에서 첫 번째 출력 줄을 가져오고 싶습니다. 분명한 대답은 입니다 some_command | head -1. 그렇죠? 글쎄, 이것은 99%의 경우 작동하지만 출력이 충분히 크면 내가 set -eo pipefail맨 위에 있기 때문에 종료 코드 141과 함께 실패하는 경우가 있습니다. awk '{ print; exit; }'더 많은 경우에 작동하지만 출력이 충분히 크면 여전히 실패합니다. 이 간단한 스크립트는 문제를 재현합니다. #!/bin/bash...

Admin

systemd가 예상치 못한 종료를 실패로 처리하도록 합니다.
exit-status

systemd가 예상치 못한 종료를 실패로 처리하도록 합니다.

시스템 서비스 단위에 타사 실행 파일을 래핑하여 관리합니다. 나는 이 프로그램의 동작을 바꿀 수 없으며, 그 종료 코드도 신뢰하지 않습니다. 종료 코드 0 또는 외부 SIGTERM을 포함하여 systemd로 인해 발생하지 않은 종료를 실패로 처리하여 systemd의 인터페이스를 통해 차이점을 감지할 수 있도록 하고 싶습니다. 현재 내 장치는 다음과 같습니다. [Unit] Description=Foo service Requires=bar.service After=bar.service [Service]...

Admin

명령 블록과 함께 set -e(errexit)를 사용하고 블록이 실패하면 다른 명령을 실행합니다(SC2181).
exit-status

명령 블록과 함께 set -e(errexit)를 사용하고 블록이 실패하면 다른 명령을 실행합니다(SC2181).

"( 없이 ) 많은 명령을 실행하고 0이 아닌 종료 코드로 명령 중 하나를 즉시 중지하는 set -e방법"에 대한 답변을 찾고 있었기 때문에 방금 알게 되었습니다 . 내가 발견하기 전까지는 &&이것 set -e만으로도 충분했습니다. (set -e; false; echo here) || echo error here그러나 error나는 새로운 문제에 대한 해결책을 빨리 찾았습니다 . (set -e; false; echo here); [ $? -ne 0 ] && echo er...

Admin