for user input you will want to use the read command. For example:
Code:
#!/bin/bash
submenufunc() {
select CHOICE in sususer blah1 blah2 mainmenu
do
case "$CHOICE" in
"sususer")
read -p "Enter Your Username: " username
passwd -l $username
;;
"blah1")
echo "blah blah foo"
;;
"blah2")
echo "blah2 blah foo"
;;
"mainmenu")
echo -e "\n1) submenu\n2) blah\n3) blah2\n4) quit" #to display main menu agin :S there must be a better way
break
;;
esac
done
}
select CHOICE in submenu blah blah2 quit
do
case "$CHOICE" in
"submenu")
submenufunc
;;
"blah")
echo "blah blah foo"
;;
"blah2")
echo "blah2 blah foo"
;;
"quit")
exit
;;
esac
done
As far as spacing goes, are you referring to adding a blank line between each menu item or using phrases with spaces as menu items? I think you're trying to use spaced phrases as menu items. Use single quotes like this:
Code:
#!/bin/bash
submenufunc() {
select CHOICE in 'Suspend User' blah1 blah2 'Main Menu'
do
case "$CHOICE" in
"sususer")
read -p "Enter Your Username: " username
passwd -l $username
;;
"blahblah1")
echo "blah blah foo"
;;
"blahblah2")
echo "blah2 blah foo"
;;
"mainmenu")
echo -e "\n1) submenu\n2) blah\n3) blah2\n4) quit" #to display main menu agin :S there must be a better way
break
;;
esac
done
}
select CHOICE in submenu blah blah2 quit
do
case "$CHOICE" in
"submenu")
submenufunc
;;
"blah")
echo "blah blah foo"
;;
"blah2")
echo "blah2 blah foo"
;;
"quit")
exit
;;
esac
done
Hope this helps!