Como fazer o eco das linhas horizontalmente

0

Estou fazendo um menu com várias opções para o usuário selecionar, mas assim que a linha atingir 10, o padrão será alterado. Já que o número 10 tem dois dígitos, é claro que vai mudar os padrões. Eu quero poder iniciar uma nova linha assim que cada linha atingir 9 linhas para manter o padrão de um dígito por linha. O exemplo 1 é o que minha saída parece atualmente. Como podemos abordar essa solução?

Example 1                                    Desired output

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

Exemplo do meu código

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
}
    
por Katz 02.03.2016 / 23:54

1 resposta

1

Por favor, execute este comando como um exemplo:

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"

Em seguida, consulte o comando man page do comando tput para entender como ele funciona. Depois disso, é simples comparação e lógica aritmética de coordenadas de tela. Parece que você tem a noção dos scripts de shell. Portanto, não deve ser muito difícil escrevê-lo

    
por 03.03.2016 / 00:08