Troubleshooting whiptail


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Troubleshooting whiptail
# 8  
Old 08-13-2018
I have build a new function with limited scaffold.

It 'runs" with an error @ line 67, not sure if I should be concerned about the error at

this time.



I know how it suppose to work, the part I do not understand is

where does the file "choice" @ line 58 come from.



The selection is in "results" and I am reading "choice".

It just " does not compute ".





As written now I have deliberately deleted lines of code between lines 60 and 61 -

no selection from menu is implemented.



However

I do expect lines 60 and 61 to execute to indicate that the process went thru them.
THAT is the issue - if I add the " do /done" selection code it never gets processed and

I DO NOT understand why.



Code:
                         whiptail_DEBUG(){
   44 echo " whiptail_DEBUG  @ line $LINENO"
   45 echo "Passed parameter #1 is $1"
   46 echo "Passed parameter #2 is $2"
   47 echo "Passed parameter #3 is $3"
   48 echo "Passed parameter #4 is $4"
   49 whiptail \
   50 --title "$1" \
   51 --separate-output  \
   52 --checklist  "Choose: " 20 78 15 \
   53 "$2" "" on  \
   54 "$3" "" off \
   55 "$4" "" off
   56 2>results               selection goes here 



   57 echo "function whiptail_DEBUG  @ line $LINENO"
   58 while read choice                  why am I reading "choise" and not "results" ? 

   59 do
   60 echo "START do/ while read @ Line $LINENO read  $choice"
   61 echo "END   do/ while read @ Line $LINENO read  $choice"
   62 done < results
   63 echo "czech file results  @ Line $LINENO "
   64 if [ $exitstatus = 0 ]; then
   65 echo "TOK " $choice
   66 else
   67 echo "function status failed "
   68 fi
   69 echo "function  whiptail_DEBUG  @ line $LINENO"
   70 }

# 9  
Old 08-13-2018
Results is the name of the file that contains the output from the whiptail command.

choice is a bash variable into which each line of the results file is read. Input is redirected from the file at line 62.

You can call the variable whatever you like get choice/line/result, the important distinction is that this is populated with each line from the results file one line at a time (try selecting more than one entry from the checklist and see how the file contains multiple lines).

Error at line 67 is because the variable exitstatus has not been assigned, you should assign exitstatus with exitstatus=$? following the whiptail command (ie after line 56 and before line 57).

Last edited by Chubler_XL; 08-13-2018 at 09:11 PM..
# 10  
Old 08-14-2018
I am really confused



Code:
49 whiptail \    50 --title "$1" \    51 --separate-output  \    52 --checklist  "Choose: " 20 78 15 \    53 "$2" "" on  \    54 "$3" "" off \    55 "$4" "" off    56 2>results   prints selection in "" here , '
if I select all three options they all print here in one line
all in ""  

Code:
49 whiptail \    50 --title "$1" \    51 --separate-output  \ line removed !!!!    52 --checklist  "Choose: " 20 78 15 \    53 "$2" "" on  \    54 "$3" "" off \    55 "$4" "" off    56 2>results   
if i remove line 51 
no more prints here !!!

Either way - I cannot retrieve selection using while do /done syntax!
The while do/done code block never executes.

I can understand NOT printing the "results" , don't need the print anyway.
But the while do/done not executing got me stumped.
Better luck tomorrow.


I guess cut and paste from quote is a no no, Tempted to delete whole mess,,,

Good night

------ Post updated 08-14-18 at 09:00 PM ------

Well I finally found the problem.



Being lazy I was trying to replace endless typing of commands while troubleshooting WiFi issue.

In the process i got cute and started passing parameters to functions.

Works fine if the parameter passed is single "string" with no spaces.

Such as "lsusb" is fine but "lsusb -v" can be passed as a parameter but not to --checklist AND using --separate-output ! It does makes sense since the "choice" selection cannot find a match when _separate-output present only part of the passed parameter for match.

What got me spinning in circles was when ALL choices where implemented the while do/ done part of the code was bypassed.

Now when I select parameter with spaces - such as "lsusb -v" I get "invalid option " - perfect!


As soon as I figure out how to pass command with options I'll post it here.



Here is current version of code and its output.







Code:
Option 3
TRACE whiptail_DEBUG_BASE   @ line 41
Passed parameter #1 is DEBUG USB 
Passed parameter #2 is lsusb
Passed parameter #3 is test parameter ! 
Passed parameter #4 is test parameter 2 
TOK  @ line 46
You chose lsusb 
Invalid entry 
Invalid entry 
Press [Enter] key to continue...^C




Code:
echo "Passed parameter #1 is $1"
  43  echo "Passed parameter #2 is $2"
  44  echo "Passed parameter #3 is $3"
  45  echo "Passed parameter #4 is $4"
  46  echo "TOK  @ line $LINENO"
  47 whiptail \
  48 --separate-output \
  49 --title "Test" \
  50 --checklist  "Choose:" 20 78 15 \
  51 "$2" "" on \
  52 "$3" "" off \
  53 "$3" "" off 2>results
  54 while read choice
  55 do
  56         case $choice in
  57                 $2) echo "You chose $2 "
  58                 ;;
  59                 $3) echo "You chose $3 "
  60                 ;;
  61                 $4) echo "You chose $4"
  62                 ;;
  63                 *)  echo "Invalid entry "
  64                 ;;
  65         esac
  66 done < results
  67 pause 
  68 }


Thanks for all the help I have received.
Cheers
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing positioning array as whiptail -- menu option

I may have asked this before, so forgive OF. Problem: I can pass positioning array as -- menu option to whiptail, but it does not show in the whiptail form as an array - only single (first member "lsusb" ) entry / line shows up. Code: DynamicEntry=$(whiptail \ --title "DEBUG... (1 Reply)
Discussion started by: annacreek
1 Replies

2. Shell Programming and Scripting

Use positional parameters in loop / while syntax in whiptail

I like to “optimize” / make more like a real program my bash script by replacing repetitious code which utilizes positional parameters. I am having two issues I cannot solve and would appreciate some assistance with resolving them. a) how to modify the whiptail checklist... (3 Replies)
Discussion started by: annacreek
3 Replies

3. Shell Programming and Scripting

Redirecting stdout output to whiptail menu box

As a result of whiptail menu option I am getting a data from a file. Naturally it is output to terminal as stdour. I like to redirect the output back to the menu. It can be done with single input of line of text , see attached. I just cannot see where or how the sample... (0 Replies)
Discussion started by: annacreek
0 Replies

4. Shell Programming and Scripting

Whiptail "Command not found"

Evening, I'd like to point out I am very much new to anything regarding scripting, so I apologize If I am / will ask stupid questions. I am currently trying to design a script that will completely setup a server for a group that needs one, so that they can have a easy way of getting up and... (8 Replies)
Discussion started by: KeyXMakerX
8 Replies

5. Shell Programming and Scripting

Bash Script - Whiptail Menu Help!

Hello, Been trying to build a menu with whiptail lately. However, my code doesn't seems to be working even though when i compared to other similar code they looks the same. #!/bin/bash clear whiptail --msgbox "Entering networking sub-menu" 20 78 whiptail --title Networking --menu... (8 Replies)
Discussion started by: malfolozy
8 Replies

6. Shell Programming and Scripting

Whiptail menu, getting back the variable

Hi all Only learning so if any mistakes, let me know I am trying to create a menu box with Whiptail, taking in the variables from a txt.file called Name.txt which has just 4 names listed for now, one below each other..ie Dave John Mike Mary Bash script is below and calls the txt... (8 Replies)
Discussion started by: olearydc
8 Replies

7. IP Networking

TCP/IP troubleshooting

Hello all, Can somebody please tell what is the best book out there that can help me learn TCP troubleshooting and understaning the TCP options like window scaling, large receive offload? I would like to understand how all the TCP tuning parameters function. Is there a book out there that can... (4 Replies)
Discussion started by: Pouchie1
4 Replies

8. Shell Programming and Scripting

Questions: whiptail --passwordbox

I have a question regarding "whiptail utility" in Linux. I have the following whiptail command within a script: #!/bin/sh whiptail --passwordbox " Password " 10 40 I would like to know Where does it store the password when the script is run? Does it go to any particular file? How... (1 Reply)
Discussion started by: Vabiosis
1 Replies

9. Red Hat

whiptail --password : How does it work?

I have a question regarding "whiptail utility" in Linux. I have the following whiptail command within a script: #!/bin/sh whiptail --passwordbox " Password " 10 40 I would like to know Where does it store the password when the script is run? Does it go to any particular file? How... (1 Reply)
Discussion started by: Vabiosis
1 Replies

10. Solaris

help troubleshooting

Hi. I have a Solaris 10 server that's taking about 20secs to respond to telnet or ftp commands. Has anyone ever seen something like that? Can you tell me where to start troubleshooting please? I logged in and did a prtstat, but nothing is jumping out as an issue. (8 Replies)
Discussion started by: bbbngowc
8 Replies
Login or Register to Ask a Question