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**