대화 상자가 있는 다운로드 관리자

대화 상자가 있는 다운로드 관리자

function view_history대화 상자를 사용하여 다운로드 관리자를 만들려고 하는데 infobox()를 사용하여 다운로드 내역을 표시 할 수 없습니다 .

Error: Expected no more than 3 tokens for --infobox, have 5.
Use --help to list options.

내 다른 질문:

작동하게 할 수는 있지만 cat $HOME/dmlog.txt스크립트에 명시적인 명령이 많기 때문에 스크롤하지 않으면 cat 명령 출력을 볼 수 없습니다. 어떻게 해야 할까요? sleep 명령을 시도했지만 제대로 설계되지 않은 것 같습니다.

답변1

--tailbox file height-width는 "tail -f" 명령과 같이 대화 상자에 파일의 텍스트를 표시합니다.

textbox텍스트 파일을 표시하고 스크롤하려면 a를 사용하세요 .

--textbox file height width textbox를 사용하면 대화 상자에 텍스트 파일의 내용을 표시할 수 있습니다. 단순한 텍스트 파일 뷰어와 같습니다. 사용자는 대부분의 키보드에서 커서, 페이지 위로, 페이지 아래로 및 HOME/END 키를 사용하여 파일 내에서 이동할 수 있습니다. 줄이 상자에 맞지 않을 정도로 긴 경우 왼쪽/오른쪽 키를 사용하여 텍스트 영역을 가로로 스크롤할 수 있습니다.

문서:https://linux.die.net/man/1/dialog

TextboxDialog() {
dialog "Example" --textbox "/PathTo/File.txt" 20 50
}

그리고 해당 기능을 사용하는데 몇 가지 문제가 있습니다. ()파일 경로를 잊어버리고 인용했습니다.""

따라서 함수는 다음과 같아야 합니다.

function view_history() {
    dialog --textbox "$HOME/dmlog.txt" $HEIGHT $WIDTH
}


사용자에게 일부 정보를 표시하려면 해당 정보를 메시지 상자나 정보 상자에 표시하세요. 사용자 상호 작용 후에 실행되어야 하는 메뉴를 제어할 수 있습니다.

메시지를 표시한 후 다른 작업을 호출할 수 있습니다.평가하다.

${NextMenu}원하는 기능을 호출하세요. $NextMenu 변수는 함수 이름을 저장합니다.

     InfoDialog(){

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --no-cancel --title "$MenuName" --msgbox "$InfoText" 20 50
    ${NextMenu}
}

무언가를 제어하는 ​​데 사용되는 예/아니요 대화 상자와 동일합니다.

YesNoDialog() {

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --yes-label "OK" --no-label "STOP" --defaultno --title "$MenuName" --yesno "$InfoText" 20 50
    answer=$?
    if [ $answer = 0 ]
    then            
        ${NextMenu}
    else
        MainMenu
    fi      
}   

함수 외부에 과도하게 주어진 변수를 설정하고 해당 변수를 사용하여 함수를 호출하는 것을 잊지 마십시오. 예:

InfoDialog(){

    MenuName="$1"
    InfoText="$2"
    NextMenu="$3"
    dialog --no-cancel --title "$MenuName" --msgbox "$InfoText" 20 50
    ${NextMenu}
}

MenuName="$1"
InfoText="$2"
NextMenu="$3"
InfoErrorDialog $MenuName $InfoText $NextMenu**

관련 정보