Bash 스크립트 if - else 조건

Bash 스크립트 if - else 조건

인터넷에서 특정 설치 프로그램을 다운로드하여 설치하고 이를 실행하는 데스크톱 파일을 생성하고 자동 시작으로 만든 다음 설치 프로그램을 제거하는 bash 스크립트를 만들고 싶지만 스크립트에 원하는 몇 가지 사항이 있습니다. 확인하다. 이러한 것들은 다음과 같습니다:

  • 설치 프로그램의 존재(존재하지 않는 경우 다운로드하고 그렇지 않으면 실행 가능하도록 설정)

  • 이전 설치의 존재(존재하는 경우 제거 프로그램 실행 파일을 설정하고 실행한 후 남은 모든 항목을 제거하고 그렇지 않은 경우 다음 단계로 이동)

  • apt list를 통한 gksu 패키지 상태 | grep gksu(설치되어 있으면 다음 단계로 이동하고 그렇지 않으면 설치)

  • gksu example.run의 출력("GNOME_SUDO_PASS" 줄이 있으면 gksu example.run을 반복하고 그렇지 않으면 다음 단계로 이동)

답변1

조건: 설치 프로그램 - ls . | grep example.runchmod +x pelda.run else wget 다운로드/링크/of/example.run

위의 내용을 이해하면 다음과 같이 번역됩니다.

if [ -f example.run ]
then
    chmod +x pelda.run
else
    wget download/link/of/example.run
fi

[ -f example.run ]명령 을 사용하는 예입니다 test. 이름이 지정된 파일이 example.run존재하는 경우 테스트 명령은 반환 코드 0(true를 의미)을 설정합니다. 그렇지 않으면 반환 코드를 1로 설정합니다(거짓을 의미함).

조건: gksu - apt list --installed | grep gksu, !존재하는 경우 sudo apt install gksu else gksu pelda.run

위의 내용을 해석해 보면 다음과 같습니다.

if apt list --installed | grep gksu
then
    gksu pelda.run
else
    sudo apt install gksu
fi

여기서는 grep일치 여부에 따라 반환 코드를 설정하는 기능을 사용하고 있습니다. apt list --installed설치된 패키지 목록을 반환합니다. 출력 위치에 문자열이 포함되어 있으면 gksu반환 grep코드를 0(true를 의미)으로 설정하고 해당 then절이 실행됩니다. 그렇지 않은 경우 해당 else절이 실행됩니다.

관련 정보