Sponsored Content
Top Forums Shell Programming and Scripting Bash read input in case statement not working as expected Post 303024331 by MadeInGermany on Saturday 6th of October 2018 06:28:40 AM
Old 10-06-2018
Here you can avoid repeated instructions by putting them between while and do
Code:
while
    defaultans=8hrs
    read -e -i $defaultans -p "${bldwht}How long would you like to grant access to $USERNAME (8hrs,24hrs,48hrs,72hrs,96hrs,1wk,2wk or q)? ${txtrst}" input
    defaultans="${input:-$defaultans}"
    echo "       "
    echo "       "
    echo "$defaultans"
    true
do
    case $defaultans in
    8hrs ) break;;
    24hrs ) break;;
    48hrs ) break;;
    72hrs ) break;;
    96hrs ) break;;
      1wk ) break;;
      2wk ) break;;
    q ) exit;;
    * ) echo "You entered an invalid choice.";;
    esac
done

The last command "true" sets a good exit status (0) so the while loop runs forever, only terminating by the break statements.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

bash case statement output help

greetings, I have a script that is taking input like this: a b c d aa bb aaa bbb ccc ddd and formating it to be like this: a b c d aa bb aaa bbb ccc ddd (4 Replies)
Discussion started by: adambot
4 Replies

2. Shell Programming and Scripting

redirect input within case statement?

I'm trying to run the logic below but get a `<' is not matched error message when I return a Y or y; printf "Run this ? : " read RESP case $RESP in Y|y) cat <<EOF > file today is Monday EOF ;; N|n) exit 1 ;; esac Any ideas? (2 Replies)
Discussion started by: h8mmer
2 Replies

3. Shell Programming and Scripting

!!VERY URGENT!! Trouble in getting user input, while using under CASE statement in UNIX

i want to get user input like this please tell which option to chose 1. mango 2. tango 3. rango if user chooses mango then it should execute a set of statements and again ask like this what do you want to do 1.add 2.subtract 3.exit when i choose exit it should goto my previous... (1 Reply)
Discussion started by: s.deepak
1 Replies

4. Shell Programming and Scripting

Trouble in getting user input while using CASE statement in UNIX

i want to get user input like this please tell which option to chose 1. mango 2. tango 3. rango if user chooses mango then it should execute a set of statements and again ask like this what do you want to do 1.add 2.subtract 3.exit when i choose exit it should goto my previous menu... (4 Replies)
Discussion started by: s.deepak
4 Replies

5. Shell Programming and Scripting

Read command not working as expected

I was trying to write a simple script which will read a text file and count the number of vowels in the file. My code is given below - #!/bin/bash file=$1 v=0 if then echo "$0 filename" exit 1 fi if then echo "$file not a file" exit 2 fi while read -n... (14 Replies)
Discussion started by: linux_learner
14 Replies

6. Shell Programming and Scripting

Problem using bash case statement

I have the following bash script and it is not accepting the lines "--"|"--""-") "--""-"") while do echo "Current Argument is ${1}" case "$1" in "--"|"--""-") echo "Argument is ${1}" shift # Skip ahead one to the next argument. ... (1 Reply)
Discussion started by: kristinu
1 Replies

7. Shell Programming and Scripting

If statement with [[ ]] and regex not working as expected

Using BASH: $ if -- ::00" ]]; then echo "true"; else echo "false"; fi false Mike (5 Replies)
Discussion started by: Michael Stora
5 Replies

8. Shell Programming and Scripting

Case statement not working as expected

case "$freq" in " Hz") low=250; high=550;; "8 Hz") low=250; high=1000;; " Hz") low=400; high=1000;; "63 Hz") low=550; high=1000;; " Hz") low=400; high=550;; ... (2 Replies)
Discussion started by: Michael Stora
2 Replies

9. Shell Programming and Scripting

BASH - case statement

Hi Gurus, I have the below BASH code which does not works for upper case alphabets except Z (upper case Z). What may be the reason. Also escape sequences like \n, \t, \b, \033(1m \033(0m (For bold letter) are not working. case $var in ) echo "Lower case alphabet" ;; ... (7 Replies)
Discussion started by: GaneshAnanth
7 Replies

10. UNIX for Beginners Questions & Answers

Why this script is not working as 'expected' when doing ssh with while read ... really confused?

Hi, I have a script below that is running ssh <host> <command> on some servers. Below is more or less the script. I have to modify it somehow to get rid of the 'confidential' hostnames check_log.bash #!/bin/bash # myPID=$$ parse_log () { sub="parse_log" host=${1} ... (2 Replies)
Discussion started by: newbie_01
2 Replies
JSON_LAST_ERROR(3)							 1							JSON_LAST_ERROR(3)

json_last_error - Returns the last error occurred

SYNOPSIS
int json_last_error (void ) DESCRIPTION
Returns the last error (if any) occurred during the last JSON encoding/decoding. PARAMETERS
This function has no parameters. RETURN VALUES
Returns an integer, the value can be one of the following constants: JSON error codes +----------------------------+---------------------------------------------------+ | Constant | | | | | | | Meaning | | | | | | Availability | | | | +----------------------------+---------------------------------------------------+ | | | | JSON_ERROR_NONE | | | | | | | No error has occurred | | | | | | | | | T{ | | | | | | JSON_ERROR_DEPTH | | | | | | The maximum stack depth has been exceeded | | | | | | | | | T{ | | | | | | JSON_ERROR_STATE_MISMATCH | | | | | | Invalid or malformed JSON | | | | | | | | | T{ | | | | | | JSON_ERROR_CTRL_CHAR | | | | | | Control character error, possibly incorrectly | | | encoded | | | | | | | | | T{ | | | | | | JSON_ERROR_SYNTAX | | | | | | Syntax error | | | | | | | | | T{ | | | | | | JSON_ERROR_UTF8 | | | | | | Malformed UTF-8 characters, possibly incorrectly | | | encoded | | | | | | PHP 5.3.3 | | | | | | | | JSON_ERROR_RECURSION | | | | | | | One or more recursive references in the value to | | | be encoded | | | | | | PHP 5.5.0 | | | | | | | | JSON_ERROR_INF_OR_NAN | | | | | | | One or more NAN or INF values in the value to be | | | encoded | | | | | | PHP 5.5.0 | | | | | | | |JSON_ERROR_UNSUPPORTED_TYPE | | | | | | | A value of a type that cannot be encoded was | | | given | | | | | | PHP 5.5.0 | | | | +----------------------------+---------------------------------------------------+ EXAMPLES
Example #1 json_last_error(3) example <?php // A valid json string $json[] = '{"Organization": "PHP Documentation Team"}'; // An invalid json string which will cause an syntax // error, in this case we used ' instead of " for quotation $json[] = "{'Organization': 'PHP Documentation Team'}"; foreach ($json as $string) { echo 'Decoding: ' . $string; json_decode($string); switch (json_last_error()) { case JSON_ERROR_NONE: echo ' - No errors'; break; case JSON_ERROR_DEPTH: echo ' - Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: echo ' - Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: echo ' - Unexpected control character found'; break; case JSON_ERROR_SYNTAX: echo ' - Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: echo ' - Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: echo ' - Unknown error'; break; } echo PHP_EOL; } ?> The above example will output: Decoding: {"Organization": "PHP Documentation Team"} - No errors Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON Example #2 json_last_error(3) with json_encode(3) <?php // An invalid UTF8 sequence $text = "xB1x31"; $json = json_encode($text); $error = json_last_error(); var_dump($json, $error === JSON_ERROR_UTF8); ?> The above example will output: string(4) "null" bool(true) SEE ALSO
json_last_error_msg(3), json_decode(3), json_encode(3). PHP Documentation Group JSON_LAST_ERROR(3)
All times are GMT -4. The time now is 09:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy