hiptail 및 bash 기능에 대한 질문

hiptail 및 bash 기능에 대한 질문
  • 다음 스크립트가 있다고 가정해 보겠습니다.

    #!/bin/bash
    
    function cpp-lang {  
    yum install "Development Tools"  
    }
    function updatesys { 
    yum -y update 
    yum -y upgrade
    }
    
         whiptail --checklist "test" 5 40 5\
                    Update "Update the system" on \
                    C++ "Install C++" off 2>results 
    
    while read choice 
    do
          case $choice in
            Update )updatesys
             ;;
            C++)cpp-lang
             ;;
             *)
             ;;
             esac
             done < results
    

    실행하면 종료됩니다. 함수에서 뭔가를 반환해야 합니까?

  • 위 스크립트를 예로 들면, sudo모든 호출에서 이를 실행 해야 합니까 yum install, 아니면 충분합니까 sudo ./script.sh?

답변1

기본적으로 (두 번째 질문은 물론 sudo가장 효율적으로 사용되어야 하는 방법에 관한 것입니다.) 판단의 문제입니다.

  • 스크립트에는 3번의 호출이 있습니다 yum. 스크립트가 처음에 테스트되면 다음과 같이 실행됩니다.rootsudo를 사용하여 자체적으로 실행하면 더 간단한 스크립트가 생성됩니다.
  • 반면에 어떤 사람들은 구체적으로 다음과 같이 논평할 수도 있습니다.root대화형 부분을 덜 안전하게 테스트합니다(패키지 이름을 직접 지정하는 것을 포함하여 스크립트를 계속 개발하고 확장하는 경우). 내 성향은 스크립트를 가질 수 있는 명령줄 옵션을 제공하는 것입니다.테스트를 거쳤습니다., 실행할 해당 명령만 표시(또는 기록)합니다.

예를 들어:

  • 설치하지 않으면 whiptail어떻게 되나요 ?
  • 만약 $choice단어가 아니라면 case성명서에 인용해 놓으면 도움이 될 것입니다.
  • whiptailyum이 오류를 보고하면 어떻게 됩니까 (사용자에게 오류가 표시됩니까, 아니면 나중에 다른 호출이 있습니까)?

관련 정보