명령을 실행하고 명령의 텍스트 출력을 변수에 넣는 방법입니다. 유닉스 명령 고양이는 ${USERNAME}_DAT라는 파일을 읽고 콘솔로 출력합니다. 스크립트의 콘솔에 넣는 대신 “로 명령을 래핑하면 변수 AGE에 텍스트가 삽입됩니다. 그러나 일반 사용자가 스크립트를 실행하면 어떻게 됩니까? 그것은 추한 오류 메시지를 많이 생성합니다. 일반 사용자가 실행을 시도하는 경우 스크립트에 무언가를 넣어 중지할 수 있다면 어떨까요? 또한 셸 스크립트를 실행하려는 만큼 셸에서 의도한 대로 작동하도록 하는 여러 가지 규칙과 모범 사례를 확인했습니다. Shell 식은 위의 구문에서 평가됩니다. 결과 값이 true이면 지정된 문이 실행됩니다. 식이 false이면 문이 실행되지 않습니다. 이렇게 하면 일반 사용자가 스크립트를 실행하면 문제가 있는 코드가 실행되지 않고 전달되고 문제가 해결됩니다. 때로는 일련의 패턴과 일치하는 변수에 따라 다른 경로를 수행하려고 할 수 있습니다. 우리는 일련의 if 및 elif 문을 사용할 수 있지만 곧 무분면 커질 것입니다. 다행히 도서 문을 통해 상황을 더 깨끗하게 만들 수 있습니다. 설명하기가 약간 어렵기 때문에 설명해야 할 몇 가지 예가 있습니다.

이는 home_space 함수가 각 사용자의 홈 디렉터리의 크기를 검사해야 하며 수퍼사용자만 이 작업을 수행할 수 있기 때문입니다. Bash 조건문은 프로그래머가 지정한 부울 조건이 true 또는 false로 평가되는지 여부에 따라 다른 계산 또는 작업을 수행합니다. 이러한 문은 특정 조건이 true인지 여부에 따라 셸 프로그램의 다른 부분을 실행하는 데 사용됩니다. 분기 할 수있는 능력은 쉘 스크립트를 강력하게 만듭니다. 이 코드를 사용하면 id -u 명령의 출력이 “0”과 같지 않으면 스크립트는 설명이 있는 오류 메시지를 인쇄하고 종료하고 종료 상태를 1로 설정하여 스크립트가 실행되지 않음을 운영 체제에 나타냅니다. 대부분의 것들과 마찬가지로 인용은 매우 중요합니다. 다음 예제를 예로 들어 보겠습니다: 문장이 매우 유용한 경우 Bash. Bash 스크립팅 자습서의 이 섹션에서는 Bash 스크립트의 if 문이 작업을 자동화하는 데 도움이 되는 방법을 배웁니다. 이 코드는 사용자가 수퍼유저인지 감지하지만 아직 문제를 실제로 해결하지는 못합니다. 사용자가 수퍼유저가 아닌 경우 스크립트를 중지하려고 하므로 다음과 같이 코딩합니다: 인수가 스크립트로 전달되는 방식에 익숙하지 않은 경우 스크립트 내부의 변수 $1이 실행 시 스크립트에 전달된 첫 번째 인수와 동일하다는 것을 명심하십시오. .