라인을 수평으로 에코하는 방법

라인을 수평으로 에코하는 방법

사용자가 선택할 수 있는 다양한 옵션이 포함된 메뉴를 만들고 있는데 행이 10개에 도달하면 모드가 변경됩니다. 숫자 10은 두 자리이므로 당연히 패턴이 달라집니다. 행당 한 자리 패턴을 유지하기 위해 각 행이 9에 도달하자마자 새 행을 시작할 수 있기를 원합니다. 예제 1은 현재 출력입니다. 이 솔루션을 어떻게 구현합니까?

Example 1                                    Desired output

1)                                         1)              1)
2)                                         2)              2)
.)                                         .)              .
.)                                         .)              .
9)                                         9)              9)
10)                                           

내 코드 예

echo -e "${MENU}*********************************************${NORMAL}"
echo -e "${MENU}**${NUMBER} 1)${MENU} Option 1) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 2)${MENU} Option 2) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 3)${MENU} Option 3) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 4)${MENU} Option 4) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 5)${MENU} Option 5) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 6)${MENU} Option 6) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 7)${MENU} Option 7) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 8)${MENU} Option 8)${NORMAL}"
echo -e "${MENU}**${NUMBER} 9)${MENU} Option 9) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 10)${MENU} Option10)  ${NORMAL}"
echo -e "${MENU}**${NUMBER} 11)${MENU} Option11) ${NORMAL}"
echo -e "${MENU}*********************************************${NORMAL}"
echo -e "${ENTER_LINE}Please enter a menu option and enter or            ${RED_TEXT}enter to exit. ${NORMAL}"
read sub3
while [ sub3 != '' ]
do
if [[ $sub3 = "" ]]; then
  exit;
else
  case $sub3 in
  1) sub_menu4;

  #othersub;
  ;;

  2) clear;
    sub_menu4;

  #othersub;
  ;;

3) clear; 
 sub_menu4;;

4) clear; 
 sub_menu4;;

x)exit;
  ;;

  \n)exit;
  ;;

  *)clear;
  option_picked "Pick an option from the menu";
  sub_menu4;
  ;;
  esac
fi
done
}

답변1

예시로 다음 명령을 실행해 보세요.

clear; tput cup 4 10; printf "Menu Item 1"; tput cup 7 30;  printf "Menu Item 29";tput cup 23 0; printf "Make your selection"

그런 다음 명령 man페이지를 확인하여 tput수행되는 작업을 알아보세요. 그 다음은 간단한 비교와 화면 좌표 연산 논리입니다. 쉘 스크립팅을 마스터하신 것 같습니다. 그러니 작성하는 것이 너무 어렵지는 않을 것입니다.

관련 정보