LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   break: cannot break (https://www.linuxquestions.org/questions/linux-newbie-8/break-cannot-break-806351/)

karlochacon 05-06-2010 01:14 PM

break: cannot break
 
1 Attachment(s)
hi guys

I am working on a menu for linux... some basic stuff.

but I have an issue. I got 1 server where something is working and the same thing does not work in the same way in another linux box

Basically I am simulating a command line where user insert some commands and to end and go back to the previous menu that person has to press Control + C and Enter Key

all my server are centos 5.0

I am adding my menu here

basically you execute ./menu

After that go to option

9. Opciones
7. Ejecutar comando
and execute a command like pwd
after that
Press Control + C and Enter Key


but I got error ./menu: break: cannot break
but in other servers pressing Control + C and Enter Key goes back to previous menu

any idea how to fix that?
or another way to exit from that simulated command line and go back to previous menu where I selected 7. Ejecutar comando

Basically this is the part that has issues

Code:

##Shell simulada para ejecutar commandos
ejecutacmd ()
{
header
echo -e "${bold}Press Control+C and Enter Key to go back to previous menu${offbold}"
echo -e " "
while true ; do
    read whichcmd?"Enter Command: "
    if [ $(sudo -l | grep -c "$whichcmd") -gt 0 ] ; then
          sudo $whichcmd
    else
          $whichcmd
    fi
done
}

menu (code) is attached so you can see all options
thanks a lot

Update
Uploaded as menu.txt just remove .txt and test it

karlochacon 05-06-2010 06:25 PM

well guys I ended doing this

I don't know if it's the best way but that's the only thing that came to my mind

Code:

ejecutacmd ()
{
header
echo -e "Digite ${bold}end${offbold} para finalizar"
echo -e " "
while [ "$whichcmd" != end ]
do
    read whichcmd?"Enter Command: "
    $whichcmd
done
whichcmd=0



All times are GMT -5. The time now is 04:39 PM.